HttpComponents

 

一 概述

1.HttpComponents的作用

HttpComponents的作用是模拟浏览器获取网页内容。

二 使用

1.使用HttpComponents需要先导入架包。

2.使用

        CloseableHttpClient client = HttpClients.createDefault();// 创建一个客户端对象
        HttpGet httpGet = new HttpGet("http://www.ifeng.com/");// 请求对象
        // 设置具体信息,使请求模拟浏览器
        httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:53.0) Gecko/20100101 Firefox/53.0");
        // 使用代理IP,因为长时间从一个网站抓取内容,IP可能被禁掉,因此采用高匿代理,使网站无法发现访问者使用的是代理与IP
        HttpHost proxy = new HttpHost("116.226.90.12", 808);
        // 自定义请求,比如连接超时、响应超时、代理
        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(10000).setSocketTimeout(10000)
                .setProxy(proxy).build();
        httpGet.setConfig(requestConfig);
        CloseableHttpResponse response = client.execute(httpGet);// 客户端执行请求,获得响应对象
        HttpEntity entity = response.getEntity();// 获取响应体
        String responseBody = EntityUtils.toString(entity);// 将响应体对象转化为字符串
        InputStream is = entity.getContent();
        File destination = new File("Files", "content.txt");
        FileUtils.copyToFile(is, destination);

 

posted @ 2017-06-06 15:33  tonghun  阅读(930)  评论(0编辑  收藏  举报