当前位置:才华咖 > 互联网计算机 > 计算机 > java语言 > JAVA如何获取HTTP请求头
手机版

JAVA如何获取HTTP请求头

来源:才华咖 阅读:1.93W 次

在利用Java网络编程时,常常需要获取HTTP请求头,那么JAVA如何获取HTTP请求头呢?下面小编为大家介绍了JAVA获取HTTP请求头的.方法,希望能帮到大家!

JAVA如何获取HTTP请求头

在利用Java网络编程时,利用Java获取HTTP Request 和 Response头字段,可以利用Java语言根据需要添加自定义的HTTP头字段,而不必拘泥于标准HTTP定义的头字段。

代码如下:

public class TestURL {

public static void main(String[] args) {

String destURLStr= "";

URL destURL = null;

URLConnection urlCon = null;

HttpURLConnection httpUrlCon= null;

String readResFile = "C:/Users/zhoujw/Desktop/";

BufferedWriter bw = null;

try {

bw = new BufferedWriter(new FileWriter(readResFile));

destURL = new URL(destURLStr);

urlCon = Connection();

httpUrlCon = (HttpURLConnection)urlCon;

//set request property

equestProperty("Accept-Encoding", "gzip,deflate,sdch");

//可根据需要添加自定义请求头

equestProperty("Test Header1", "test1");

equestProperty("Test Header2", "test2");

ect();

BufferedReader br = new BufferedReader(new InputStreamReader(nputStream(), "gbk"));

String webpage = null;

while((( webpage = Line()) != null))

{

// tln(webpage);

e(webpage);

h();

}

//debug

tln("Self Define Headers:");

tln(" Test Header1: " + equestProperty("Test Header1"));

tln(" Test Header2: " + equestProperty("Test Header2"));

tln();

//echo request property

echoRequestHeaders(httpUrlCon);

//echo response property

echoResponseHeaders(httpUrlCon);

} catch (MalformedURLException e) {

tStackTrace();

} catch (IOException e) {

tStackTrace();

}

}

public static void echoRequestHeaders(HttpURLConnection httpUrlCon){

tln("Request Headers:");

tln(" " + equestMethod() + " / " + " HTTP/1.1");

tln(" Host: " + equestProperty("Host"));

tln(" Connection: " + equestProperty("Connection"));

tln(" Accept: " + equestProperty("Accept"));

tln(" User-Agent: " + equestProperty("User-Agent"));

tln(" Accept-Encoding: " + equestProperty("Accept-Encoding"));

tln(" Accept-Language: " + equestProperty("Accept-Language"));

tln(" Cookie: " + equestProperty("Cookie"));

tln(" Connection: " + eaderField("Connection"));//利用另一种读取HTTP头字段

tln();

}

public static void echoResponseHeaders(HttpURLConnection httpUrlCon) throws IOException{

tln("Response Headers:");

tln(" " + "HTTP/1.1 " + esponseCode() + " " + esponseMessage());

tln(" status: " + esponseCode() + " " + esponseMessage());

tln(" content-encoding: " + ontentEncoding());

tln(" content-length : " + ontentLength());

tln(" content-type: " + ontentType());

tln(" Date: " + ate());

tln(" ConnectTimeout: " + onnectTimeout());

tln(" expires: " + xpiration());

tln(" content-type: " + eaderField("content-type"));//利用另一种读取HTTP头字段

tln();

}

}

运行结果:

Self Define Headers:

Test Header1: test1

Test Header2: test2

Request Headers:

GET / HTTP/1.1

Host:

Connection: keep-alive

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

User-Agent: Java/1.6.0_20

Accept-Encoding: gzip,deflate,sdch

Accept-Language: null

Cookie: null

Connection: Keep-Alive

Response Headers:

HTTP/1.1 200 OK

status: 200 OK

content-encoding: gzip

content-length : -1

content-type: text/html; charset=utf-8

Date: 1427817028000

ConnectTimeout: 0

expires: 1427817001000

content-type: text/html; charset=utf-8

本文链接:https://www.caihuaka.com/jsjzs/java/2qwde.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。