JAVA获取HTTP请求头的方法示例

  

本文实例讲述了JAVA获取HTTP请求头的方法。分享给大家供大家参考,具体如下:

  

在利用Java网络编程时,利用Java获取HTTP请求和响应头字段;

  

可以利用Java语言根据需要添加自定义的HTTP头字段,而不必拘泥于标准HTTP定义的头字段。

  

代码如下:

        公开课TestURL {   公共静态void main (String [] args) {   字符串destURLStr=" http://www.baidu.com ";   URL destURL=零;   URLConnection urlCon=零;   HttpURLConnection httpUrlCon=零;   字符串readResFile=" C:/用户/zhoujw/桌面/readResFile.html”;   BufferedWriter bw=零;   尝试{   bw=new BufferedWriter(新FileWriter (readResFile));   destURL=新的URL (destURLStr);   urlCon=destURL.openConnection ();   httpUrlCon=(HttpURLConnection) urlCon;//设置请求的属性   httpUrlCon。setRequestProperty(“接受编码”、“gzip、缩小,sdch”);//可根据需要添加自定义请求头   httpUrlCon。setRequestProperty(“测试Header1”、“test1”);   httpUrlCon。setRequestProperty(“测试Header2”、“test2”);   httpUrlCon.connect ();   BufferedReader br=new BufferedReader(新InputStreamReader (httpUrlCon.getInputStream (),“gbk”));   字符串网页=零;   而(((网页=br.readLine ()) !=null))   {//System.out.println(网页);   bw.write(网页);   bw.flush ();   }//调试   系统。println(“自定义页眉:”);   系统。println(“测试Header1:”+ httpUrlCon。getRequestProperty(“测试Header1 "));   系统。println(“测试Header2:”+ httpUrlCon。getRequestProperty(“测试Header2 "));   System.out.println ();//回声请求属性   echoRequestHeaders (httpUrlCon);//回波响应特性   echoResponseHeaders (httpUrlCon);   }捕捉(MalformedURLException e) {   e.printStackTrace ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }   公共静态孔隙echoRequestHeaders (HttpURLConnection httpUrlCon) {   系统。println(“请求标头:”);   系统。println (" + httpUrlCon.getRequestMethod () +“/?“HTTP/1.1”);   系统。println(主持人:“+ httpUrlCon.getRequestProperty(“主机”));   系统。println(“连接:”+ httpUrlCon.getRequestProperty("连接"));   系统。println(“接受”+ httpUrlCon.getRequestProperty(“接受”));   系统。println(“用户代理:”+ httpUrlCon.getRequestProperty(“用户代理”));   系统。println(“接受编码:”+ httpUrlCon.getRequestProperty(“接受编码”));   系统。println(“接收语言:”+ httpUrlCon.getRequestProperty(“接收语言”));   系统。println(“饼干:”+ httpUrlCon.getRequestProperty(“饼干”));   系统。println(“连接:”+ httpUrlCon.getHeaderField("连接");//利用另一种读取HTTP头字段   System.out.println ();   }   公共静态孔隙echoResponseHeaders (HttpURLConnection httpUrlCon)抛出IOException {   系统。println(“响应标头:”);   系统。println (" +“HTTP/1.1”+ httpUrlCon.getResponseCode () + " " + httpUrlCon.getResponseMessage ());   系统。println(“状态:”+ httpUrlCon.getResponseCode () + " " + httpUrlCon.getResponseMessage ());   系统。println(“内容编码:”+ httpUrlCon.getContentEncoding ());   系统。println(“内容长度:”+ httpUrlCon.getContentLength ());   系统。println(“内容类型:”+ httpUrlCon.getContentType ());   系统。println(“日期:”+ httpUrlCon.getDate ());   系统。println (“ConnectTimeout:”+ httpUrlCon.getConnectTimeout ());   系统。println(“到期:”+ httpUrlCon.getExpiration ());   系统。println(“内容类型:”+ httpUrlCon.getHeaderField(“内容类型”));//利用另一种读取HTTP头字段   System.out.println ();   }   }      之前      

运行结果:

        自定义标题:   测试Header1: test1   测试Header2: test2   请求头信息:/HTTP/1.1   主持人:www.baidu.com   连接:维生   接受:text/html/gif图像,图像/jpeg, *;q=?、*/*;q=2   用户代理:Java/1.6.0_20   接受编码:gzip,缩小,sdch   接收语言:零   饼干:零   连接:维生   http://www.baidu.com   响应标头:   HTTP/1.1 200 OK   状态:200 OK   内容编码:gzip   内容长度:1   内容类型:text/html;utf - 8字符集=日期:1427817028000   ConnectTimeout: 0   过期:1427817001000   内容类型:text/html;utf - 8字符集=之前      

更多关于java相关内容感兴趣的读者可查看本站专题:《java Socket编程技巧总结》,《java文件与目录操作技巧汇总》、《java数据结构与算法教程》、《java操作DOM节点技巧总结》和《java缓存操作技巧汇总》

JAVA获取HTTP请求头的方法示例