Java代码获取HTTP响应标头的方法分享
下文笔者讲述java代码获取响应头的方法分享,如下所示
实现思路: 方式1: 使用URLConnection对象中的getHeaderField方法获取所有表头信息 方式2: 使用Apache HttpClient中的getAllHeades()方法返回所有表头 //原生JDK方式 URL obj = new URL("http://java265.com"); URLConnection conn = obj.openConnection(); //get all headers Map<String, list<String>> map = conn.getHeaderFields(); for (Map.Entry<String, List<String>> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + " ,Value : " + entry.getValue()); } //get header by 'key' String server = conn.getHeaderField("Server"); //使用Apache HttpClient HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("http://java265.com"); HttpResponse response = client.execute(request); //get all headers Header[] headers = response.getAllHeaders(); for (Header header : headers) { System.out.println("Key : " + header.getName() + " ,Value : " + header.getValue()); } //get header by 'key' String server = response.getFirstHeader("Server").getValue();
URLConnection
package com.java265; 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://java265.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(); } } }
Apache HttpClient打印所有表头信息
package com.java265; 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://java265.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(); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。