HttpClient代理IP及设置连接读取超时
来源:互联网 发布:登录注册js特效 编辑:程序博客网 时间:2024/06/05 06:26
1、不废话,上代码:
public static void main(String[] args) throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建HttpClient实例HttpGet httpGet = new HttpGet("http://www.tuicool.com"); // 创建Httpget实例//设置Http报文头信息httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0");HttpHost httoHost = new HttpHost("113.2.63.7",8118);//代理Ip//RequestConfig requestConfig = RequestConfig.custom().setProxy(httoHost).build();RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(10000)//设置连接超时时间.setSocketTimeout(10000)//设置读取超时时间.setProxy(httoHost)//设置代理.build();httpGet.setConfig(requestConfig);CloseableHttpResponse response = null;response = httpClient.execute(httpGet); // 执行http get请求HttpEntity httpEntity = response.getEntity(); // 获取返回实体String web = EntityUtils.toString(httpEntity, "utf-8"); // 解析实体System.out.println("网页内容是:");System.out.println(web);response.close(); // 关闭responsehttpClient.close(); // 关闭HttpClient实体}
2、关于IP代理
IP代理分为:透明代理、匿名代理、混淆代理、高匿代理
1)透明代理(Transparent Proxy)
REMOTE_ADDR = Proxy IP
HTTP_VIA = Proxy IP
HTTP_X_FORWARDED_FOR = Your IP
透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。
2)匿名代理(Anonymous Proxy)
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP
匿名代理比透明代理进步了一点:别人只能知道你用了代理,无法知道你是谁。
还有一种比纯匿名代理更先进一点的:混淆代理,见下节。
3)混淆代理(Distorting Proxies)
REMOTE_ADDR = Proxy IP
HTTP_VIA = Proxy IP
HTTP_X_FORWARDED_FOR = Random IP address
如上,与匿名代理相同,如果使用了混淆代理,别人还是能知道你在用代理,但是会得到一个假的IP地址,伪装的更逼真:-)
4)高匿代理(Elite proxy或High Anonymity Proxy)
REMOTE_ADDR = Proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
可以看出来,高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。
[1]Java1234_小锋, HttpClient使用代理IP, http://blog.java1234.com/blog/articles/251.html
[2]Java1234_小锋, HttpClient连接超时及读取超时, http://blog.java1234.com/blog/articles/254.html
阅读全文
0 0
- HttpClient代理IP及设置连接读取超时
- HttpClient连接超时及读取超时
- HttpClient连接超时及读取超时
- HttpClient连接超时及读取超时
- Httpclient 设置读取超时及连接重试等配置
- HttpClient设置超时和代理
- HttpClient设置请求超时和读取超时
- HttpClient连接请求超时设置
- HttpClient 连接要设置超时
- httpclient连接超时时间设置
- HttpClient连接请求超时设置
- iOS socket连接IPv4 IP v6及设置连接超时
- httpclient-4.X设置连接超时
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- js控制上传文件的大小
- 入离职管理系统——类的抽取和注册登录功能
- 深度学习笔记——理论与推导之Neural Network的记忆力(四)
- Java提高篇——通过分析 JDK 源代码研究 Hash 存储机制
- 一个小函数引起的思考
- HttpClient代理IP及设置连接读取超时
- POJ 2253 Frogger 最小生成树
- python 案例008(九九乘法表)
- iOS AFN 3.0版本前后区别 02
- 线程死锁
- 论坛上看到的一个java输出顺序问题。
- 软件开发过程中所使用的生命周期模型比较
- 二维图形与三维图形自定义几何
- 谷歌浏览器F12前端调试工具 Console