文档章节

第5个HttpClient 例子,使用代理IP

诺岚
 诺岚
发布于 2017/08/29 11:57
字数 177
阅读 41
收藏 0

代码:

import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
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.commons.io.FileUtils;
import java.io.File;
import java.io.InputStream;


public class Demo02 {
    public static void main(String[] args) throws Exception {
        //创建HttpClient实例
        CloseableHttpClient client = HttpClients.createDefault();
        //创建httpget实例
        HttpGet get = new HttpGet("https://www.oracle.com/us/assets/hp10p2-oracle-code-sprite-3861772.jpg");
    //设置代理IP
        HttpHost proxy=new HttpHost("183.232.65.203", 3128);
        RequestConfig config=RequestConfig.custom().setProxy(proxy).build();
        get.setConfig(config);
        //设置请求头信息
        get.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");
        //执行http get 请求
        CloseableHttpResponse execute = client.execute(get);
        //获取返回的实体
        HttpEntity entity = execute.getEntity();
        if (entity!=null){
            //输入返回的内容
            System.out.println("Content-Type:"+entity.getContentType().getValue());
            InputStream inputStream=entity.getContent();
            FileUtils.copyToFile(inputStream, new File("C://dljd5.jpg"));
        }

        //response 关闭
        execute.close();
        //httpclient 关闭
        client.close();
    }
}

运行结果:

 Demo02
Content-Type:image/jpeg; charset=

Process finished with exit code 0

© 著作权归作者所有

共有 人打赏支持
诺岚
粉丝 0
博文 101
码字总数 176372
作品 0
广州
程序员
HTTP协议和HttpClient的入门

HTTP协议的发展史没有了解,是给予请求与响应模式的、无连接、无状态的应用层的协议。 HTTP协议 HTTP协议的URL HTTP URL(URL是一种特殊类型的URI,包含了勇于查找某个资源的足够的信息)的格式...

凹凸口天
2013/07/15
0
0
HttpClient4.x:Get和Post提交数据

HttpClient是一款用Java写的非常好用的基于Http协议的客户端编程工具包。具体举例来讲,用它可以模拟form表单提交数据动作,可以模拟访问网页动作及得到网页源码内容等等,这两点或许是我们在...

liangtee
2012/12/02
0
0
apache/commons/httpclient学习笔记

apache/commons/httpclient学习笔记 参考资料: http://www.systinet.com/doc/wasp_uddi/uddi/igpreliminary.html 教程中的一个例程,可以下载。 来源:竹笋炒肉 虽然用telnet这样的程序都可把...

eric luo
2011/03/31
0
0
【J2EE系列】HttpClient 学习整理 [转]

HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放...

磊神Ray
2012/01/12
0
0
httpClient4.2官方文档研究

前言 超文本传输协议(HTTP)也许是最常用的在互联网上使用的协议。 Web服务,支持网络设备和网络计算的增长继续扩大用户驱动的Web浏览器的HTTP协议之外的作用,同时增加了一些应用程序需要H...

harries
2015/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

等语句含义

经常会看到某些网站的框架中会用到 <!--[if IE7]><![endif]--> 等语句,今天特意查阅了下它们的区别: <!--[if IE]>所有的IE可识别<![end if]--><!--[if !IE]>除IE外都能识别<![end if]-->......

度_
20分钟前
0
0
资源的有限性与任务的复杂性之间的矛盾

看了一篇文章How to Manage Connections Efficiently in Postgres, or Any Database, 文章讨论了如何管理Postgres数据库连接,列举了几种方式: 每个请求一个连接 连接复用 连接池 连接池管理...

52iSilence7
20分钟前
1
0
Python PEP8规范整理

PEP8规范总结 PEP8 是什么呢,简单说就是一种编码规范,是为了让代码“更好看”,更容易被阅读。 具体有这些规范,参考 PEP 8 --Style Guide for Python Code.当然也可以使用Pycharm检查或使...

_Change_
32分钟前
0
0
input去空格

货币转换while True:MonStr = input()if MonStr[:3] == "RMB":USD = eval(MonStr[3:])/6.78print("USD{:.2f}".format(USD))elif MonStr[:3] == "USD":RMB = eval(MonStr[3:......

fadsaa
35分钟前
0
0
单例设计模式

单例设计模式 设计模式介绍与代码编写 在编写程序时经常会遇到一些典型的问题或需要完成某种特定需求.设计模式就是针对这些问题和需求.在大量的实践中总结和理论化之后的代码结构.编程风格以...

码农屌丝
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部