[httpcomments-client-4.5.2]--源码分析(Get请求)
2016-09-12 17:14
711 查看
package org.apache.http.examples.client; //这个是apache最新版本的jar import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; /** * This example demonstrates how to abort an HTTP method before its normal completion. */ public class ClientAbortMethod { // 客户端请求方法 public final static void main(String[] args) throws Exception { CloseableHttpClient httpclient = HttpClients.createDefault(); //创建一个客户端,类似于打开一个浏览器 try { HttpGet httpget = new HttpGet("http://httpbin.org/get"); //客户端Get请求方法 System.out.println("Executing request " + httpget.getURI()); CloseableHttpResponse response = httpclient.execute(httpget); //执行请求,获取返回 response try { System.out.println("----------------------------------------"); //以下是提取response 内容 System.out.println(response.getStatusLine()); // Do not feel like reading the response body // Call abort on the request object httpget.abort(); } finally { response.close(); } } finally { httpclient.close(); } }
//这个是一个比较古老的版本 //创建一个客户端,类似于打开一个浏览器 HttpClient httpclient=new HttpClient(); 全面剖析网络爬虫 //创建一个 get 方法,类似于在浏览器地址栏中输入一个地址 GetMethod getMethod=new GetMethod("http://www.blablabla.com"); //回车,获得响应状态码 int statusCode=httpclient.executeMethod(getMethod); //查看命中情况,可以获得的东西还有很多,比如 head、cookies 等 System.out.println("response=" + getMethod.getResponseBodyAsString()); //释放 getMethod.releaseConnection();
上面的示例代码是使用 HttpClient 进行请求与响应的例子。第一行表示创建一个客户 端,相当于打开浏览器。第二行使用 get 方式对 http://www.blablabla.com 进行请求。第三行 执行请求,获取响应状态。第四行的 getMethod.getResponseBodyAsString()方法能够以字符 串方式获取返回的内容。这也是网页抓取所需要的内容。在这个示例中,只是简单地把返 回的内容打印出来,而在实际项目中,通常需要把返回的内容写入本地文件并保存。最后 还要关闭网络连接,以免造成资源消耗。 这个例子是用 get 方式来访问 Web 资源。通常,get 请求方式把需要传递给服务器的参 数作为 URL 的一部分传递给服务器。但是,HTTP 协议本身对 URL 字符串长度有所限制。 因此不能传递过多的参数给服务器。为了避免这种问题,通常情况下,采用 post 方法进行 HTTP 请求,HttpClient 包对 post 方法也有很好的支持
相关文章推荐
- [httpcomments-client-4.5.2]--源码分析( HTTP entity)
- [httpcomments-client-4.5.2]--源码分析(Request execution)
- [httpcomments-client-4.5.2]--源码分析(Working with message headers)
- [httpcomments-client-4.5.2]--源码分析(HTTP request)
- [httpcomments-client-4.5.2]--源码分析(HTTP response)
- Http请求连接池-HttpClient的AbstractConnPool源码分析
- java发送post和get请求(1)---HttpClient 方式
- java中用httpClient请求service时bug解决方法(httpGet)
- httpclient的get和post请求
- java apache commons HttpClient发送get和post请求的学习整理
- httpClient----Post 和 GET请求
- 用httpclient4.x 发送http get post请求。
- http 的Get和 Post请求深入分析
- http Form表单的Get和 Post请求深入分析
- Android使用Apache HttpClient发送GET、POST请求
- http请求之GET、POST对比分析
- 我的Android进阶之旅------>Android发送GET和POST以及HttpClient发送POST请求给服务器响应
- 用httpclient4.x 发送http get post请求。
- Hadoop源码分析HDFS ClientProtocol——getBlockLocations
- 结合tomcat源码谈谈http get请求的乱码问题