HttpClient httpclient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet("http://www.baidu.com"); HttpResponse httpResponse = httpclient.execute(httpGet); Header[] headerArray = httpResponse.getAllHeaders(); for(Header header : headerArray) { System.out.println("--Header-----------------------------------------"); System.out.println("----Key: " + header.getName()); System.out.println("----RawValue: " + header.getValue()); HeaderElement[] headerElementArray = header.getElements(); for(HeaderElement headerElement : headerElementArray) { System.out.print("------Value: " + headerElement.getName()); if(null != headerElement.getValue()) { System.out.println(" <-|-> " + headerElement.getValue()); } else { System.out.println(); } NameValuePair[] nameValuePairArray = headerElement.getParameters(); for(NameValuePair nameValuePair : nameValuePairArray) { System.out.println("------Parameter: " + nameValuePair.getName() + " <-|-> " + nameValuePair.getValue()); } } }
执行结果:
--Header-----------------------------------------
----Key: Date
----RawValue: Sat, 04 Apr 2015 15:58:09 GMT
------Value: Sat
------Value: 04 Apr 2015 15:58:09 GMT
--Header-----------------------------------------
----Key: Content-Type
----RawValue: text/html; charset=utf-8
------Value: text/html
------Parameter: charset <-|-> utf-8
--Header-----------------------------------------
----Key: Transfer-Encoding
----RawValue: chunked
------Value: chunked
--Header-----------------------------------------
----Key: Connection
----RawValue: Keep-Alive
------Value: Keep-Alive
--Header-----------------------------------------
----Key: Vary
----RawValue: Accept-Encoding
------Value: Accept-Encoding
--Header-----------------------------------------
----Key: Set-Cookie
----RawValue: BAIDUID=6559C87B89AA0DF65B20DAD5A247F03F:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
------Value: BAIDUID <-|-> 6559C87B89AA0DF65B20DAD5A247F03F:FG=1
------Parameter: expires <-|-> Thu
------Value: 31-Dec-37 23:55:55 GMT
------Parameter: max-age <-|-> 2147483647
------Parameter: path <-|-> /
------Parameter: domain <-|-> .baidu.com
--Header-----------------------------------------
----Key: Set-Cookie
----RawValue: BIDUPSID=6559C87B89AA0DF65B20DAD5A247F03F; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
------Value: BIDUPSID <-|-> 6559C87B89AA0DF65B20DAD5A247F03F
------Parameter: expires <-|-> Thu
------Value: 31-Dec-37 23:55:55 GMT
------Parameter: max-age <-|-> 2147483647
------Parameter: path <-|-> /
------Parameter: domain <-|-> .baidu.com
--Header-----------------------------------------
----Key: Set-Cookie
----RawValue: BDSVRTM=0; path=/
------Value: BDSVRTM <-|-> 0
------Parameter: path <-|-> /
--Header-----------------------------------------
----Key: Set-Cookie
----RawValue: BD_HOME=0; path=/
------Value: BD_HOME <-|-> 0
------Parameter: path <-|-> /
--Header-----------------------------------------
----Key: Set-Cookie
----RawValue: H_PS_PSSID=12610_12939_1466_12658_13074_12824_12867_13321_12692_8502_12723_12737_13325_13202_13161_13256_8498_10634; path=/; domain=.baidu.com
------Value: H_PS_PSSID <-|-> 12610_12939_1466_12658_13074_12824_12867_13321_12692_8502_12723_12737_13325_13202_13161_13256_8498_10634
------Parameter: path <-|-> /
------Parameter: domain <-|-> .baidu.com
--Header-----------------------------------------
----Key: P3P
----RawValue: CP=" OTI DSP COR IVA OUR IND COM "
------Value: CP <-|-> OTI DSP COR IVA OUR IND COM
--Header-----------------------------------------
----Key: Cache-Control
----RawValue: private
------Value: private
--Header-----------------------------------------
----Key: Cxy_all
----RawValue: baidu+df8e0199b72d42dc2e3ab30a7b65b584
------Value: baidu+df8e0199b72d42dc2e3ab30a7b65b584
--Header-----------------------------------------
----Key: Expires
----RawValue: Sat, 04 Apr 2015 15:58:06 GMT
------Value: Sat
------Value: 04 Apr 2015 15:58:06 GMT
--Header-----------------------------------------
----Key: X-Powered-By
----RawValue: HPHP
------Value: HPHP
--Header-----------------------------------------
----Key: Server
----RawValue: BWS/1.1
------Value: BWS/1.1
--Header-----------------------------------------
----Key: BDPAGETYPE
----RawValue: 1
------Value: 1
--Header-----------------------------------------
----Key: BDQID
----RawValue: 0xe11ae74b0002f87c
------Value: 0xe11ae74b0002f87c
--Header-----------------------------------------
----Key: BDUSERID
----RawValue: 0
------Value: 0
相关推荐
每次查询的结果可能是一个JSON或XML响应,我们需要解析这个响应以获取手机号码信息。解析工具可以使用Jackson、Gson或DOM等库。数据被存储在一个Map中,这允许我们快速查找和处理数据。 3. **数据量控制与本地存储*...
这将返回一个`HttpResponse`对象,我们可以从中获取状态码、响应头和响应体。通常,我们需要检查状态码是否表示成功(如200),然后通过`EntityUtils.toString()`方法读取响应体内容。 6. **解析响应数据**: 假设...
### 使用HttpClient发送POST请求,并获取响应内容 #### 一、简介 在现代软件开发中,尤其是在Web应用领域,客户端与服务器之间的通信是非常重要的环节。Java作为一种广泛应用的编程语言,提供了多种方式来实现这一...
在这个链接中,作者可能会解释如何配置HttpClient,建立连接,设置请求头,处理响应,以及解析返回的HTML内容来提取博客列表。 标签“源码”意味着内容可能涉及到代码示例,讲解了如何使用HttpClient的源代码来实现...
我们可以从中获取状态码、响应头以及响应体: ```java StatusLine statusLine = response.getStatusLine(); HttpEntity entity = response.getEntity(); String responseBody = EntityUtils.toString(entity, ...
在处理动态内容的网页时,HttpClient可以方便地发送带有特定头信息的请求,模拟浏览器行为,绕过一些安全机制,如用户代理检测、加密或反爬虫策略。 ### 动态数据获取难点 动态数据通常指的是那些需要执行...
这个库广泛用于从Web服务器获取数据、发送请求、处理响应等任务,尤其在爬虫、API交互、自动化测试等领域有着广泛的应用。在本文中,我们将深入探讨HttpClient的核心概念、使用方法以及如何通过`httpclient.jar`进行...
2.3.1获取内容中文乱码 /** * 通过url获取网页内容, * 解决中文乱码问题 * @param httpUrl * @return */ public static String downloadPage(String httpUrl) { StringBuffer pageBuffer = new ...
Android 中使用 HttpClient 获取网络数据的实例 Android 平台中,HttpClient 是一个常用的网络请求组件,通过它可以与远程服务器进行交互,获取所需的数据。在 Android 应用程序中,我们可以使用 HttpClient 来获取...
ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例
首先,使用HttpClient发起HTTP请求并获取响应,然后将响应内容传递给HtmlParser进行解析。例如: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(...
接着,我们使用HttpClient执行请求并获取响应: ```java CloseableHttpResponse response = httpClient.execute(httpGet); ``` 最后,解析并处理响应: ```java try (BufferedReader reader = new BufferedReader...
- 使用`HttpClient`实例的`execute`方法发送请求,并通过`HttpResponse`对象获取服务器的响应。响应码200通常表示成功,其他状态码则表示不同类型的错误。 7. **文件参数**: - 当上传文件时,需要指定文件名和...
- 发送请求并处理响应:使用`HttpClient`的`execute`方法发送请求,获取`HttpResponse`。解析响应体,提取`access_token`和`refresh_token`。 - 添加请求头:在后续请求中,使用`HttpEntityEnclosingRequestBase`的`...
5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取...
解析响应时,我们需要解析响应头以获取控制信息,例如处理`Set-Cookie`以维护会话状态,或者根据`Content-Type`选择合适的解析器。 总结: HTTP消息头与响应头在客户端和服务器之间的通信中扮演着关键角色。理解并...
通常,这样的工具类会包含一个方法,如`createHtmlPage`,它会处理所有与解码相关的细节,确保正确读取和处理响应内容。 5. **静态化处理**:在处理HTML页面时,静态化是一种常见的技术,它将动态内容转化为静态...
本项目提供了可运行的示例,展示了如何使用HttpClient来获取目标网站内容。 首先,`pom.xml`是Maven项目的配置文件,它包含了项目所依赖的库,如Apache HttpClient库。在`pom.xml`中,你需要确保引入了正确的...
在这个项目中,它可能会详细介绍如何利用HttpClient来获取数据,包括设置请求头、参数和处理响应等。 `read.t` 可能是一个错误的文件名,如果是`readme.txt`,则可能是一个简单的文本版本的README,用于那些不支持...