我尝试使用volley来获取http请求。我在postman上尝试了一个请求,响应标题如下:
Volley添加了一些额外的密钥并删除了Content-Length
和Content-Encoding
密钥。我在parseNetworkResponse
函数上写了键和值。响应标题如下:
Content-Type:application / json;字符集= utf-8的 日期:2017年6月30日星期五09:05:23 GMT ETag:W /“23-E742p6pP4kakmVh3lok1ww” 服务器:Microsoft-IIS / 8.0 Set-Cookie:ARRAffinity = 16d81073e15abb17d2faba962adb6504734210ff2b9ff1ddfa770750ac7752e2; Path = /; xxx.net 变化:X-HTTP-Method-Override,Accept-Encoding,Accept-Encoding X-Android-Received-Millis:1498813523832 X-Android-Response-Source:NETWORK 200 X-Android-Selected-Protocol:http / 1.1 X-Android-Sent-Millis:1498813523632 X-Powered-By:Express
为什么会改变内容?如何获得Content-Length
和Content-Encoding
?
答案 0 :(得分:0)
如果您使用的是java.net.HttpURLConnection和getHeaderFieldKey方法,那么请不要忘记根据API reference检查标题中的第0个元素:
某些实现可能会将第0个头字段视为特殊字段,即作为HTTP服务器返回的状态行。在这种情况下, getHeaderField(0)返回状态行,但getHeaderFieldKey(0)返回null。