[httpcomments-client-4.5.2]--源码分析(Get请求)

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 方法也有很好的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值