java中如何设置HTTP协议的头信息(header)
2017-08-31 16:11
459 查看
首先,我们先看一下http的头信息到底是什么: HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而 言,包括message-header和message-body两部分。首先传递message- header,即http header消息。http header 消息通常被分为4个部分: general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确,根据日常使用,大体分为Request和Response两部分。 在通常的servlet/jsp应用中,我们只是从http的header中取得信息,如果要设置信息,需要用到HttpClient,具体的设置方法如下: HttpResponse response = null; HttpGet get = new HttpGet(url); get.addHeader("Accept", "text/html"); get.addHeader("Accept-Charset", "utf-8"); get.addHeader("Accept-Encoding", "gzip"); get.addHeader("Accept-Language", "en-US,en"); get.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22"); response = client.execute(get); HttpEntity entity = response.getEntity(); Header header = entity.getContentEncoding(); if (header != null) { HeaderElement[] codecs = header.getElements(); for (int i = 0; i < codecs.length; i++) { if (codecs[i].getName().equalsIgnoreCase("gzip")) { response.setEntity(new GzipDecompressingEntity(entity)); } } } return response; 其中,client为一个HttpClient的实力,创建方式如: SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory())); schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory())); PoolingClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry); cm.setMaxTotal(200); cm.setDefaultMaxPerRoute(2); HttpHost googleResearch = new HttpHost("research.google.com", 80); HttpHost wikipediaEn = new HttpHost("en.wikipedia.org", 80); cm.setMaxPerRoute(new HttpRoute(googleResearch), 30); cm.setMaxPerRoute(new HttpRoute(wikipediaEn), 50); DefaultHttpClient client = new DefaultHttpClient(cm);
相关文章推荐
- java中如何设置HTTP协议的头信息(header)
- java利器jodd打印输出http协议信息
- 如何在Java 环境下使用 HTTP 协议收发 MQ 消息
- 如何查看HTTP协议头部信息[转]
- 使用Feign时如何设置Feign的Header信息
- HTTP 协议 header 头部信息详解
- JAVA httpClient 设置header
- Jmeter 日志设置---如何设置java协议中被测jar的日志?
- HTTP中header的信息讲解以及设置
- 编写Java application时,如何设置proxy的信息
- Java发送http请求并为http设置头信息
- HttpClient3.1设置header信息
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- HTTP中header的信息讲解以及设置
- Java文件下载:如何编码文件名称以及如何设置HttpServletResponse
- JSP/Java获取HTTP header信息(request)例子
- http头状态信息意议以及在php使用header设置方法
- Android java如何在代码中为Http连接设置代理
- java设置HTTP协议请求(实现断点续传)
- java的环境变量如何设置