httpclient get请求

2019-03-16 22:32|来源: 网路

httpclient get进行get请求步骤:
1、创建Httpclient对象
HttpClients.createDefault();
2、创建http GET请求对象
new HttpGet(url);
3、执行请求
httpclient.execute(httpGet);
4、获取返回相关信息,如状态码、内容
response.getStatusLine().getStatusCode()
response.getEntity()
5、关闭Httpclient对象,相当于关闭浏览器


示例:

package com._656463.httpclient;
  
import java.io.File;
  
import org.apache.commons.io.FileUtils;
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;
import org.apache.http.util.EntityUtils;
  
public class DoGET {
    public static void main(String[] args) throws Exception {
    // 创建Httpclient对象
    CloseableHttpClient httpclient = HttpClients.createDefault();
    // 创建http GET请求
    HttpGet httpGet = new HttpGet("http://www.baidu.com/s?wd=java");
    CloseableHttpResponse response = null;
    try {
        // 执行请求
        response = httpclient.execute(httpGet);
        // 判断返回状是否为200
        if (response.getStatusLine().getStatusCode() == 200) {
        String content = EntityUtils.toString(response.getEntity(),"UTF-8");
        FileUtils.writeStringToFile(new File("E:\\baidu.html"),content, "UTF-8");
        System.out.println("内容长度=" + content.length());
        }
    } finally {
        if (response != null) {
        response.close();
        }
        // 相当于关闭浏览器
        httpclient.close();
    }
    }
}

整理于网络


相关问答

更多

用android的httpclient抓网页(GET)有的可以,有的网页抓不到,请求头设置了。

可使用android自带的httpclient框架实现。 1. GET 方式传递参数 //先将参数放入List,再对参数进行URL编码 List params = new LinkedList (); params.add(new BasicNameValuePair("param1", "数据")); //增加参数1 params.add(new BasicNameValuePair("param2", "value2"));//增加参数2 String param = URLEncodedUt ...

httpclient执行get请求的基本步骤有哪些

HttpClient httpClient = new HttpClient(); //创建GET方法的实例 GetMethod getMethod = new GetMethod(请求地址); //此处可以在getMethod上添加请求参数 try { //执行getMethod int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus. SC_OK) { System.err.print ...

新手求助,Arduino联网后,如何回应HttpClient的GET请求

Android联网可以采用HttpPost,HttpGet封装post请求和get请求,再使用HttpClient的excute方法发送post或者get请求并返回服务器的响应数据。 1、设置连接和读取超时时间,并新建HttpClient对象: // 设置连接超时时间和数据读取超时时间 HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, 30000) ...

httpclient发post请求加入队列和多线程来处理请求

首先new一个LinkedBlockingQueue,然后有三个方法相应的去处理,一个是将所有post请求加入对列,即initPost,另一个是从取post请求getUrl,还有一个解出新的url并将形成新的post请求放入队列addUrl。然后new 几个线程就可以进行了,每个线程各司其职。注意不要用普通队列来放post请求,因为在在多线程下它的线程不安全,而linkedBlockingQueue是concurrent类库的 ,线程安全。

使用HttpClient的post和get请求,能正确访问网页,却无法执行网页上的统计脚本。求指导。。。

浏览器的工作流程: 1. 访问URL得到HTML。 2. 解析HTML,得到另外一堆URL,比如图片,js等等 3. 访问js,图等URL取得资源 4. 显示图片,执行js 你的程序只做了第一步,没有第2,3及以后的步骤,所以没有访问cnzz