本文实例讲述了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请求头的方法示例