AndroidのHttpResponse
execute()
メソッドによって返されるHttpClient
オブジェクトを使用して、特定のヘッダーの値を取得する方法はありますか?
特定のヘッダーを取得する方法はいくつかあります。 HttpResponse は HttpMessage を継承し、次のヘッダー取得メソッドを提供します。
あなたの場合、おそらくgetFirstHeader(String)
が必要です。ヘッダーには複数の値を含めることができるため、_Header[]
_配列はgetHeaders()
から返されます。ヘッダーが1つしかない場合は、getFirstHeader(String)
で十分です。
私はいつもこのコードを使います
最初はそうします
Header[] headers = response.getAllHeaders();
次に、ハッシュマップで変換する簡単な方法を使用しています
private HashMap<String, String> convertHeadersToHashMap(Header[] headers) {
HashMap<String, String> result = new HashMap<String, String>(headers.length);
for (Header header : headers) {
result.put(header.getName(), header.getValue());
}
return result;
}
今、私はどんな価値も得ることができます
多分誰かが幸運を助けることができます
HttpResponse.getHeaders()
メソッドを試しましたか?
以下の方法を試してください:-
URL obj = new URL("http://mkyong.com");
URLConnection conn = obj.openConnection();
Map<String, List<String>> map = conn.getHeaderFields();
System.out.println("Printing Response Header...\n");
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey()
+ " ,Value : " + entry.getValue());
}
System.out.println("\nGet Response Header By Key ...\n");
String server = conn.getHeaderField("Server");
if (server == null) {
System.out.println("Key 'Server' is not found!");
} else {
System.out.println("Server - " + server);
}
System.out.println("\n Done");
} catch (Exception e) {
e.printStackTrace();
}
http://www.mkyong.com/Java/how-to-get-http-response-header-in-Java/
ヘッダーを印刷したり、ヘッダーにCookieを印刷したりするには、HttpResponse.getAllHeaders()
を試してください。
response.getHeaders("Set-Cookie")