[Java爬虫HttpClient_Demo3更换高匿IP并设置超时断连]
来源:互联网 发布:java不合法的标识符 编辑:程序博客网 时间:2024/05/20 05:55
项目托管平台: 码云地址:
https://gitee.com/HDMBS/JavaSpiderDemo.git
public static void main(String[] args) throws IOException {// 模拟出真实的HTTP交互并获取图片,//Maven_Jar参考Java爬虫Demo2/** 1.设置请求对象 User-Agnet httpGet.setHeader("User-Agent",* "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"* );* * 2.获取响应内容类型 Content-Type HttpEntity entity = respond.getEntity();* System.out.println(entity.getContentType().getValue());* * 3.获取响应状态码 Status** 200:正常 403:拒绝 500:服务器报错 400:未找到页面* * CloseableHttpResponse respond = httpclient.execute(httpGet);* System.out.println(respond.getStatusLine().getStatusCode());** 4.复制资源: commons io 2.5 _Jar : 复制网络中的资源* * 5.设置高匿IP 参考网站:http://www.xicidaili.com/nn/ HttpHost proxy=new* HttpHost("175.155.213.235", 9999); RequestConfig* config=RequestConfig.custom().setProxy(proxy).build();* httpGet.setConfig(config);** 6.设置连接超时,自动断连接,不会让程序一直连; RequestConfig config =* RequestConfig.custom().setConnectTimeout(10000)// 设置连接时间超时10秒* .setSocketTimeout(1000)// 设置读取时间超时10秒 .build(); httpGet.setConfig(config);// 访问网址final String URL = "http://www.xicidaili.com/nn/";// 创建可关闭的HttpClient实例对象(新版本才可以)相当于创建了一个模拟浏览器CloseableHttpClient httpclient = HttpClients.createDefault();// 一般爬虫请求都用Get,Get请求在HTTP请求协议里代表安全的查看:这个请求对象里可以添加http的请求头等HttpGet httpGet = new HttpGet(URL);// 设置超时断连RequestConfig configDL = RequestConfig.custom().setConnectTimeout(1000)// 设置连接时间超时10秒断连.setSocketTimeout(1000)// 设置读取时间超时10秒断连.build();// 设置高匿IPHttpHost proxy = new HttpHost("112.84.192.174", 8118);RequestConfig configIP = RequestConfig.custom().setProxy(proxy).build();// 添加请求配置httpGet.setConfig(configDL);httpGet.setConfig(configIP);// 设置Get请求头的 User-Agent (模拟代理浏览器信息)httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0");// 用浏览器模拟对象httpClient,发送一个Get请求:可以通过这个响应对象获得很多http的响应信息CloseableHttpResponse respond = httpclient.execute(httpGet);// 获得状态码System.out.println(respond.getStatusLine().getStatusCode());// 获取返回的网页实体HttpEntity entity = respond.getEntity();if (entity != null) {// 获取响应内容类型System.out.println(entity.getContentType().getValue());}// 获取网页实体对象转换为字符串,并指定最终编码String entitystr = EntityUtils.toString(entity, "utf-8");System.out.println(entitystr);// 关闭流资源httpclient.close();// 关闭流资源respond.close();}
阅读全文
0 0
- [Java爬虫HttpClient_Demo3更换高匿IP并设置超时断连]
- linux ssh连接超时断连设置
- httpcliet超时重连设置
- java爬虫总是超时
- Python爬虫之超时设置
- weiwei爬虫4.4--超时设置
- hbase 客户端超时、重连设置
- hbase 客户端超时、重连设置
- 爬虫代理ip设置
- 爬虫代理ip设置
- java测试网络连接是否成功并设置超时时间
- Java Session超时设置
- Java Session超时设置
- java 设置WebService超时
- Java Session超时设置
- java 设置超时
- Java Session超时设置
- Java Session超时设置
- 一键领取阿里云幸运券,可支持多达40款云计算产品优惠
- 公众号从菜鸟到高手的进化:微信公众平台后台投票管理功能
- 20个优秀手机界面扁平化设计,让你一秒看懂扁平化
- Spring入门学习笔记
- python自学笔记(3)--python基本语句
- [Java爬虫HttpClient_Demo3更换高匿IP并设置超时断连]
- Python find()方法
- CentOS试水——PuTTY问题
- CentOS下如何更改默认的启动方式
- 本题中的变量(不包括变量ID)进行z-score标准化
- Unity embedded web plugin, UniWebView 2.9
- 机器学习sklearn19.0——Logistic回归算法
- 马云:月入一两百万很高兴,挣一二十亿很难受
- 给跪了!IT男花1万2,手造全套北欧风家具