Android Volley access http response header fields

2019-04-06 05:03发布

How can i access HTTP header fields like ETag from a response using Volley ? With HttpUrlCoonection i just do conn.getHeaderField("ETag") and that's it.

Thanks

2条回答
叛逆
2楼-- · 2019-04-06 05:46

You can extend Request class. Then when you implement parseNetworkResponse(NetworkResponse response) method you can access header values in response.headers. So you can access ETag header like response.headers.get("ETag"). What I did was to then add this header value in response object like response.setETag(etag) and than I just return it in Response.success(response, null). Response object will then be delivered to deliverResponse(E response) where you can send it forward to some listener.

查看更多
可以哭但决不认输i
3楼-- · 2019-04-06 05:51

You can subclass Request (or any of its subclasses) and override the parseNetworkResponse method:

@Override
protected Response<Bitmap> parseNetworkResponse(NetworkResponse response) {
    Map<String, String> responseHeaders = response.headers;
}
查看更多
登录 后发表回答