◎위챗 : speedseoul
http://www.mkyong.com/java/how-to-get-http-response-header-in-java/ <<==Good
http://rainmaker0303.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-HttpClient-%EC%84%A4%EB%AA%85-%EC%98%88%EC%A0%9C
http://www.codota.com/android/classes/org.apache.http.HttpResponse
http://programcreek.com/java-api-examples/index.php?api=org.apache.http.client.methods.HttpOptions
http://stackoverflow.com/questions/6272575/how-to-handle-the-session-in-httpclient-4-1
http://stackoverflow.com/questions/6424611/get-header-from-httpresponse-in-android <<==Good
1. URLConnection Example
See a full example to get response headers value via URLConnection.
package com.mkyong; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class ResponseHeaderUtil { public static void main(String[] args) { try { 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(); } } }
Output
Printing Response Header... Key : null ,Value : [HTTP/1.1 200 OK] Key : ETag ,Value : ["713cd-9b82-4dd6d789447c0"] Key : Content-Length ,Value : [39810] Key : Expires ,Value : [Fri, 24 May 2013 03:22:31 GMT] Key : Last-Modified ,Value : [Fri, 24 May 2013 02:22:31 GMT] Key : Connection ,Value : [Keep-Alive] Key : X-Powered-By ,Value : [W3 Total Cache/0.9.2.9] Key : Server ,Value : [Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635] Key : Pragma ,Value : [public] Key : Cache-Control ,Value : [public] Key : Date ,Value : [Fri, 24 May 2013 02:22:37 GMT] Key : Vary ,Value : [Accept-Encoding,Cookie] Key : Keep-Alive ,Value : [timeout=2, max=100] Key : Content-Type ,Value : [text/html] Key : Accept-Ranges ,Value : [bytes] Get Response Header By Key ... Server - Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Done
This is an equivalent example, but using Apache HttpClient.
package com.mkyong; import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; public class ResponseHeaderUtil { public static void main(String[] args) { try { HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("http://mkyong.com"); HttpResponse response = client.execute(request); System.out.println("Printing Response Header...\n"); Header[] headers = response.getAllHeaders(); for (Header header : headers) { System.out.println("Key : " + header.getName() + " ,Value : " + header.getValue()); } System.out.println("\nGet Response Header By Key ...\n"); String server = response.getFirstHeader("Server").getValue(); 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(); } } }