【发布时间】:2017-09-01 14:50:49
【问题描述】:
我在我的 android 代码中使用 HttpUrlConnection,并且我正在尝试访问 getResponseCode() 调用后的标头字段。对于单个标头方法是 -
public String getHeaderField(String name)
在哪里获取所有标题 -
public Map<String,List<String>> getHeaderFields()
那么这里的交易是什么?我们可以多次设置标题吗?
getHeaderField() 方法的文档说 -
如果在多次设置相同标头且值可能不同的连接上调用,则仅返回最后一个值。
那么 getHeaderFields() 方法呢?如果有人可以举个例子来帮助理解差异,我将不胜感激。
与具有方法的 HttpResponse 相比 -
Header[] getHeaders(String var1);
我会想到方法-
public List<String> getHeaderField(String name)
但情况似乎并非如此。那么我该如何处理呢?
【问题讨论】:
-
所以你想得到标题?键值对吗?
-
问题是如何为单个标头设置多个值。如果是这样(在 HttpClient 以及 HttpUrlConnection 的 getHeaderFields 的情况下似乎是这种情况)我如何获取 HttpUrlConnection 中单个标头的值列表。
-
请不要告诉我迭代并得到它:)
-
标头值将仅作为字符串返回您有多个具有相同标头键的值,它将所有值作为一个字符串返回,用“;”分隔分号
-
那么为什么是平价呢?可能是 [
public String getHeaderField(String name)和public Map<String,String> getHeaderFields())] 或 [public List<String> getHeaderField(String name)和public Map<String,List<String>> getHeaderFields()]?
标签: java android httpclient httpurlconnection