网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > java语言

JAVA如何获取HTTP请求头

栏目: java语言 / 发布于: / 人气:2.04W

在利用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

Tags:JAVA Http 获取