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");
 
      }
 

java代理ip有效检测的更多相关文章

  1. python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

    python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_usera ...

  2. springboot实现java代理IP池 Proxy Pool,提供可用率达到95%以上的代理IP

    一.背景 前段时间,写java爬虫来爬网易云音乐的评论.不料,爬了一段时间后ip被封禁了.由此,想到了使用ip代理,但是找了很多的ip代理网站,很少有可以用的代理ip.于是,抱着边学习的心态,自己开发 ...

  3. 对代理IP进行检测是否可用

    第一种方法是使用telnetlib import telnetlib import requests from lxml import etree #解析此url页面的IP url = 'http:/ ...

  4. java 检测代理IP是否准确

    我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString() import java.io.IOException; import java ...

  5. Java 验证代理ip

    原文地址:http://www.cnblogs.com/junrong624/p/5416503.html 1 import java.io.IOException; import java.io.I ...

  6. python代理池的构建5——对mongodb数据库里面代理ip检查

    上一篇博客地址:python代理池的构建4--mongdb数据库的增删改查 一.对数据库里面代理ip检查(proxy_test.py) #-*-coding:utf-8-*- ''' 目的:检查代理I ...

  7. Java实现Ip代理池

    设置Ip代理很多时候都会有用到,尤其是在写爬虫相关项目的时候.虽然自己目前没有接触这种需求,但由于最近比较闲,就写着当作练习吧 爬取代理IP 爬取 关于爬取代理IP,国内首先想到的网站当然是 西刺代理 ...

  8. [爬虫进阶]使用Jsoup取代你的一切网络请求方法(java,post,get,代理IP)

    [爬虫进阶]使用Jsoup取代你的一切网络请求方法(java,post,get,代理IP) 原文链接:https://www.cnblogs.com/blog5277/p/9334560.html 原 ...

  9. java模拟http请求(代理ip)

    java实现动态切换上网IP (ADSL拨号上网) java动态设置IP java模拟http的Get/Post请求 自动生成IP模拟POST访问后端程序 JAVA 动态替换代理IP并模拟POST

随机推荐

  1. Java接口中的成员变量的意义

    转自:http://blog.csdn.net/ameyume/article/details/6189749 在interface里面的变量都是public static final 的.所以你可以 ...

  2. Laravel中ajax添加CsrfToken的方法

    //在模板文件的header头中添加 <meta name="_token" content="{{ csrf_token() }}"/> //aj ...

  3. Laravel使用Eloquent ORM操作数据库

    1.定义模型 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Flight extends Model{ p ...

  4. [BZOJ2095][Poi2010]Bridges 二分+网络流

    2095: [Poi2010]Bridges Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1187  Solved: 408[Submit][Sta ...

  5. 代码编辑器[0] -> Vim/gVim[1] -> Vim 的快捷键操作

    快捷键 / Shortcut Keys 1 基本操作 / Basic Operation Vim的基本操作主要可以参考以下几张图,参考链接, 命令行模式 i             从光标所在字符前插 ...

  6. Sharepoint 查阅项字段和计算值字段的定义

    查阅项字段定义 <Field Type="Lookup" DisplayName="test2" Required="FALSE" E ...

  7. HDU 4034 Graph Floyd最短路

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4034 题意: 给你一个最短路的表,让你还原整个图,并使得边最少 题解: 这样想..这个表示通过floy ...

  8. [COCI2015]FUNGHI

    题目大意: 一个环上有8个数,从中选取连续的4个数使得和最大,求最大的和. 思路: 模拟. #include<cstdio> #include<cctype> #include ...

  9. [51Nod1487]占领资源

    题目大意:​ 有一个$n\times m(x,m\leq 100)$的网格图,每个格子有一个权值$w_{i,j}(1\leq w_{i,j}\leq 9)$.你可以在图中选两个格子,每个格子$(x,y ...

  10. lua的深拷贝和浅拷贝

    --- Deep copies a table into a new table. -- Tables used as keys are also deep copied, as are metata ...