httpclient使用代理ip
在浏览一些网站的时候由于各种原因,无法进行访问。
频繁访问也可能导致ip被封锁而导致无法访问网站,这在我们爬取数据过程中经常遇到。
这时我们需要通过IE,FireFox进行Http的代理设置,
当然httpClient也为我们提供这样的设置 。
代理ip用很多种形式,可以找到一个可用Ip或者使用goagent,或者购买代理ip池。
那在httpclicent中要怎么样运用呢。我们以goagent为例。
goagent打开后,只要通过127.0.0.1 端口8087来访问 就可以了
httpclient的具体用法有两种 post和get,具体使用方法可参考:
HTTPClient模块的HttpGet和HttpPost
要调用代理,只需要增加以下代码:
HttpHost proxy = new HttpHost("127.0.0.1",8087, null);
httpclient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
如果代理需要用户,密码进行验证
httpClient.getCredentialsProvider().setCredentials(new AuthScope(proxyHost, proxyPort),new UsernamePasswordCredentials(userName, password));
完整例子:
public static void main(String args[])
{StringBuffer sb = new StringBuffer();//创建HttpClient实例HttpClient client = getHttpClient();//创建httpGetHttpGet httpGet = new HttpGet("http://www.csdn.net");//执行try {HttpResponse response = client.execute(httpGet);HttpEntity entry = response.getEntity();if(entry != null){InputStreamReader is = new InputStreamReader(entry.getContent());BufferedReader br = new BufferedReader(is);String str = null;while((str = br.readLine()) != null){sb.append(str.trim());}br.close();}} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(sb.toString());
}//设置代理public static HttpClient getHttpClient() {DefaultHttpClient httpClient = new DefaultHttpClient();String proxyHost = "proxycn2.huawei.com";int proxyPort = 8080;String userName = "china\\******";String password = "*******“httpClient.getCredentialsProvider().setCredentials(new AuthScope(proxyHost, proxyPort),new UsernamePasswordCredentials(userName, password));HttpHost proxy = new HttpHost(proxyHost,proxyPort);httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);return httpClient;
}导入:commons-logging-1.1.jar,httpclient-4.0-beta2.jar ,httpcore-4.1-alpha1.jar 和 commons-codec-1.4.jar架包
httpclient使用代理ip相关推荐
- httpclient动态代理ip
在爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采集屏蔽IP措施. 这时候,代理IP就派上用场了. 关于代理IP的话 也分几种 透明代理.匿名代理.混淆代理.高 ...
- HttpURLConnection和httpclient添加代理IP和端口
/*代理设置*/ HttpClient httpclient = new DefaultHttpClient(); HttpHost proxy = new HttpHost(System.getPr ...
- JAVA之HttpClient+Jsoup实现代理IP爬虫
文章目录: HttpClient(请求数据): Jsoup解析筛选数据: 通过httpclient+jsoup爬取代理ip网址上面的ip和端口,并存入数据库: 筛选数据库中的有效代理IP,并实现代理I ...
- Java HttpClient 如何使用代理IP请求接口
实际场景中,可能会遇到需要使用代理IP请求接口的需求,所以这里给大家分享一下如何通过代理IP请求接口. proxyServer 代理IP proxyPort 代理端口 HttpClient httpC ...
- 网络爬虫生成代理ip
代理 写网络爬虫时,经常会遇到ip频繁访问被封的问题,经常使用的解决办法就是代理ip.为此,我写了一个随机生成一个可用代理ip的样例程序. 程序 package proxy;import java.i ...
- 太阳动态ip代理为您详解使用代理ip常见的几个关键点及其解决方案
一个ip支撑不了整个爬虫项目的运营,因此程序员常需要建立代理ip池或者与第三方代理ip软件打交道.作为优质的代理ip服务商,太阳动态ip代理为您详解使用代理ip常见的几个关键点及其解决方案. IP检验 ...
- HttpClient使用代理
1.为什么使用代理 当爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采用屏蔽IP的措施,这时候代理IP就派上用场了. 2.代理的分类 (一)透明代理(Trans ...
- python爬虫ip代理没有作用_可能是一份没什么用的爬虫代理IP指南
写在前面 做爬虫的小伙伴一般都绕不过代理IP这个问题. PS:如果还没遇到被封IP的场景,要不你量太小人家懒得理你,要不就是人家压根不在乎... 爬虫用户自己是没有能力维护一系列的代理服务器和代理IP ...
- android HttpClient 设置代理
HttpClient client = new HttpClient();//设置代理.转发到 哪个 ip 和 port , 192.168.3.196 是我本机的charles 地址和端口clien ...
- 使用代理ip常见的几个关键点及其解决方案
一个ip支撑不了整个爬虫项目的运营,因此程序员常需要建立代理ip池或者与第三方代理ip软件打交道.作为优质的代理ip服务商,太阳动态ip代理为您详解使用代理ip常见的几个关键点及其解决方案. IP检验 ...
最新文章
- 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)
- 基于单片机的调光控制器设计
- mysql系列问答题_(2)MySQL运维基础知识面试问答题
- Spring MVC 中 HandlerInterceptorAdapter的使用(拦截器)
- bind() c语言,c/c++ 标准库 bind 函数详解
- 【今日CV 视觉论文速览】14 Nov 2018
- 那些让程序员提升30-80%的快捷键大全整理
- matlab转python很难吗_MATLAB在逐渐被Python淘汰吗?
- cl.g4r.win index.php,win7 wamp环境配置Oracle数据库连接
- 【Docker】 for Mac 配置镜像加速器,加快镜像下载速度
- 研究生学习生活日记——第五次组会
- 如何把qsv视频格式转换成mp4视频格式
- 【下载】DE2、DE2-70、DE1光盘资料
- random和stochastic的区别
- ARM架构SMMU驱动详解
- 新概念英语(第四册,旧版)复习(原文及全文翻译)——Lesson 1 - Finding Fossil Man(寻找化石人)
- ADSL初始地址及用户名密码大全(转)
- 未来5年,6大风口行业
- python 打开文件夹所有文件_python遍历文件夹下所有文件
- 复现Detectron2-blendmask之冰墩墩雪容融自定义数据集语义分割
热门文章
- VS2013附加包含目录,添加相对路径
- 《大型分布式网站架构设计与实践》
- 在Linux下玩QQ游戏
- 算法和数据结构(b站尚硅谷韩老师教程学习笔记)
- java项目有个x_GitHub - somnl/X-SpringBoot: X-SpringBoot是一个轻量级的Java快速开发平台,能快速开发项目并交付【接私活利器】...
- 计算机msvcp100.dll,msvcp100.dll丢失的解决方法
- python迷宫万花筒代码_Python实现PS滤镜的万花筒效果示例,python万花筒
- java移位运算符(一个大于号,两个大于号,三个大于号)
- android源码编译烧鸡,板栗烧鸡的做法图文
- fiddler电脑抓包和HttpCanary(小黄鸟)手机抓包教程