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();
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


