java代理ip有效检测

java实现代理ip有效检测,依赖Apache的HttpClient
 
正式版:

       /**
       * 批量代理IP有效检测
       *
       *  @param  proxyIpMap
       *  @param  reqUrl
       */
       public  static  void  checkProxyIp(Map<String, Integer> proxyIpMap, String reqUrl) {
 
             for  (String proxyHost : proxyIpMap.keySet()) {
                  Integer proxyPort = proxyIpMap.get(proxyHost);
 
                   int  statusCode = 0;
                   try  {
                        HttpClient httpClient =  new  HttpClient();
                        httpClient.getHostConfiguration().setProxy(proxyHost, proxyPort);
 
                         // 连接超时时间(默认10秒 10000ms) 单位毫秒(ms
                         int  connectionTimeout = 10000;
                         // 读取数据超时时间(默认30秒 30000ms) 单位毫秒(ms
                         int  soTimeout = 30000;
                        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectionTimeout);
                        httpClient.getHttpConnectionManager().getParams().setSoTimeout(soTimeout);
 
                        HttpMethod method =  new  GetMethod(reqUrl);
 
                        statusCode = httpClient.executeMethod(method);
                  }  catch  (Exception e) {
                         //  TODO  Auto-generated catch block
                        e.printStackTrace();
                  }
                  System. out .format( "%s:%s-->%s\n" , proxyHost, proxyPort, statusCode);
            }
      }
 
       /**
       * 代理IP有效检测
       *
       *  @param  proxyIp
       *  @param  proxyPort
       *  @param  reqUrl
       */
       public  static  void  checkProxyIp(String proxyIp,  int  proxyPort, String reqUrl) {
            Map<String, Integer> proxyIpMap =  new  HashMap<String, Integer>();
            proxyIpMap.put(proxyIp, proxyPort);
            checkProxyIp(proxyIpMap, reqUrl);
      }
      
       public  static  void  main(String[] args) {
            
            Map<String, Integer> proxyIpMap =  new  HashMap<String, Integer>();
            proxyIpMap.put( "114.80.136.112" , 7780);
            proxyIpMap.put( "114.80.136.166" , 7780);
            proxyIpMap.put( "114.80.136.167" , 7780);
            proxyIpMap.put( "114.80.136.168" , 7780);
            proxyIpMap.put( "114.80.136.169" , 7780);
            proxyIpMap.put( "114.80.136.170" , 7780);
            proxyIpMap.put( "114.80.136.171" , 7780);
            proxyIpMap.put( "123.129.207.102" , 7780);
            proxyIpMap.put( "123.129.207.100" , 7780);
            proxyIpMap.put( "123.129.207.103" , 7780);
            proxyIpMap.put( "123.129.207.104" , 7780);
            proxyIpMap.put( "123.129.207.105" , 7780);
            proxyIpMap.put( "123.129.207.108" , 7780);
            proxyIpMap.put( "114.80.136.164" , 7780);
            proxyIpMap.put( "123.129.207.107" , 7780);
            proxyIpMap.put( "180.153.251.3" , 7780);
            proxyIpMap.put( "180.153.251.4" , 7780);
            proxyIpMap.put( "180.153.251.5" , 7780);
            proxyIpMap.put( "180.153.251.6" , 7780);
            proxyIpMap.put( "180.153.251.7" , 7780);
            proxyIpMap.put( "180.153.251.8" , 7780);
            proxyIpMap.put( "180.153.251.9" , 7780);
            proxyIpMap.put( "180.153.251.10" , 7780);
            proxyIpMap.put( "180.153.251.11" , 7780);
            proxyIpMap.put( "180.153.251.12" , 7780);
            proxyIpMap.put( "180.153.251.13" , 7780);
            proxyIpMap.put( "180.153.251.14" , 7780);
            proxyIpMap.put( "180.153.251.15" , 7780);
            proxyIpMap.put( "180.153.251.16" , 7780);
            proxyIpMap.put( "180.153.251.2" , 7780);
            checkProxyIp(proxyIpMap,  "http://t.sohu.com/new_index" );
 
      }
 

引用\[1\]提供了一个示例代码,用于爬取西刺代理网站上的免费代理IP。这段代码使用了BeautifulSoup库来解析网页,并提取出IP地址和端口号。通过调用get_ip_list函数,可以获取到爬取到的代理IP列表。 引用\[2\]提供了一个检测IP可用性的函数。该函数使用了requests库发送请求,并设置了代理IP。如果请求成功(状态码为200),则将该代理IP保存在另一个列表中。 根据这些引用内容,你可以使用这些代码实现一个爬虫代理IP的功能。首先,你可以使用引用\[1\]中的代码来爬取西刺代理网站上的免费代理IP。然后,使用引用\[2\]中的函数来检测这些代理IP的可用性。最后,你可以根据引用\[3\]中的运行结果来验证你的代码是否成功获取到了代理IP。 请注意,这只是一个示例代码,你可以根据自己的需求进行修改和优化。同时,使用代理IP需要遵守相关法律法规和网站的使用规定,确保合法合规地使用代理IP。 #### 引用[.reference_title] - *1* *3* [Python网络爬虫(五)——获取代理IP](https://blog.csdn.net/weixin_40431584/article/details/89736159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python爬虫实战(二):爬取快代理构建代理IP池](https://blog.csdn.net/yuan2019035055/article/details/121334216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值