您的位置: 首页 > 新闻资讯 > > 正文

如何用java检测代理IP是否准确?

发布时间:2019年12月16日 来源:互联网

我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString()


import java.io.IOException;

import java.io.InputStream;

import java.net.InetSocketAddress;

import java.net.Proxy;

import java.net.URL;

import java.net.URLConnection;

import java.nio.charset.Charset;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.io.BufferedReader;

import java.io.InputStreamReader;

/**<br>     * 批量代理IP有效检测<br>     *<br>     * @param IP<br>     * @param post<br>     */

public static void createIPAddress(String ip,int port) {

        URL url = null;

        try {

        url = new URL("http://www.baidu.com");

        } catch (MalformedURLException e) {

        System.out.println("url invalidate");

        }

        InetSocketAddress addr = null;

        addr = new InetSocketAddress(ip, port);

        Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http proxy

        InputStream in = null;

        try {

        URLConnection conn = url.openConnection(proxy);

        conn.setConnectTimeout(1000);

        in = conn.getInputStream();

        } catch (Exception e) {

        System.out.println("ip " + ip + " is not aviable");//异常IP

        }

        String s = convertStreamToString(in);

        System.out.println(s);

        // System.out.println(s);

        if (s.indexOf("baidu") > 0) {//有效IP

        System.out.println(ip + ":"+port+ " is ok");

        }

        }

     

     

    public static String convertStreamToString(InputStream is) {

        if (is == null)

        return "";

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        StringBuilder sb = new StringBuilder();

        String line = null;

        try {

        while ((line = reader.readLine()) != null) {

        sb.append(line + "/n");

        }

        } catch (IOException e) {

        e.printStackTrace();

        } finally {

        try {

        is.close();

        } catch (IOException e) {

        e.printStackTrace();

        }

        }

        return sb.toString();

 

        }

       

如何用java检测代理IP是否准确?


第二个方法是checkProxyIp()


/**

     * 批量代理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) {

                    System.out.println("ip " + proxyHost + " is not aviable");

                }

                if(statusCode>0){

                     System.out.format("%s:%s-->%sn", proxyHost, proxyPort,statusCode);

                }

                

          }

    }


相关文章内容简介

1 免费代理IP能用于爬虫吗

    免费代理IP能用于爬虫吗?免费代理IP就是不需要花钱,在网络上可以直接提取,然后用来替换IP。并不是所有项目都能用免费代理IP的,例如爬虫就不可以。    免费代理IP的来源比较杂,很多没有用,使用时间短,匿名程度也参差不齐,其中有一些是高度匿名的,但数量有限,也很难挑选。而爬虫工作需要的IP,要求比较高,因为爬虫IP一旦质量不高就会被对方网站发现,被禁止抓取数据,无法完成工作。所以,免费代理IP是不适合爬虫的。但如果免费代理IP的匿名程度够的话,使用效率低,也是符合使用需求的。    爬虫大家都知道,是采集数据的方式。通过采集来的数据分析,可以获取有价值的信息。而代理IP是换IP最方便的工具,爬虫工作是要用代理IP的。    爬虫对被爬的网站来说是毫无利益的,反而会影响到服务器的工作,所以现在都设有反爬程序,IP限制是最基本的。爬虫工作的时候,如果速度快,用同一个IP会有访问的问题,这时网络就会有验证或者直接封锁IP,给爬虫工作带来了很大的困难。 ... [阅读全文]

2 发帖用代理IP有什么好处?

    发帖用代理IP有什么好处?发帖是网络营销的主要途径,在发帖的时候,很多时候都要用到代理IP,这并不奇怪,代理IP给网络营销人员带来了很大的便利。那么,发帖用代理IP有什么好处?    贴吧大家都不陌生,很多人在贴吧交流,一般同一个IP只能发布有限的帖子,评论也是有限制的。如果想大量发帖,就需要用代理IP来解决了。有很多热帖有的是真实评论,有的可能需要代理IP来帮忙,用代理IP去访问网站,用户不会被网站监视限制,或者被封锁了。    随着网络的发展,网络营销是很多公司必须要做的,其中网络影响最重要的途径就是发帖。很多发帖的工作人员都在使用代理IP,但还有很多人并不了解。那么,营销发帖一定要用代理IP吗?    例如贴吧、微博等平台,这些平台发帖可以与其他网友进行交流,起到宣传的作用。但一个IP发帖的数量是有限的,如果想大量发帖,就需要代理IP的帮助。更换IP后,就可以伪装成一个全新的用户,自然不会被平台限制。还有网络营销最常见的问答方式,也需要更换IP后进行自问... [阅读全文]

推荐阅读

  1. 27

    2021-01

    影响HTTP代理的使用速度因素有哪些?

    如今,身边接触互联网行业的朋友越来越多,对于HTTP代理相信大家都不陌生,那么大家知道影响HTTP代理的使用速度因素有哪些吗?下面就给大家总结一下相关因素。

  2. 12

    2020-06

    代理服务器是路由器吗?

    刚接触代理IP的人常常分不清代理服务器和路由器的区别,两者都是用来上网,甚至有人以为代理服务器和路由器使用方式一样,这就大错特错了。这两者区别非常大,要不怎么会有IP软件。

  3. 28

    2020-12

    自建代理IP池的优势与劣势

    随着互联网的高速发展,爬虫采集成了许多公司企业和个人的需求,但正因为如此,反爬虫技术也逐渐诞生,所以在爬虫的过程中我们需要使用代理IP来应对反爬虫措施。在选择代理IP时很多企

  4. 15

    2020-01

    网络爬虫使用代理ip有什么小技巧?

    目前,互联网产品的竞争十分激烈。大部分行业都会使用 Python爬虫 技术来挖掘、收集和分析竞争产品的数据,这是一种必要的手段。如果有爬行动物,就会有反爬行动物来保护自己的信息安全

  5. 13

    2020-02

    生活中使用代理ip多吗?

    在互联网时代,信息传播和传播方式发生了巨大变化。比如,你在国内有身份证,出国时有护照,在互联网上有自己独特的身份。这是 IP 。当你访问目标网站时,对方通过记录你的 IP地址 来了

  6. 28

    2020-07

    贴吧营销结合代理ip的效果

    很多进行网络营销的网络工作者喜欢在贴吧上发帖,进行推广宣传。贴吧是一个非常大并且技术相对成熟的平台,发展到现在,使用贴吧的用户非常多,发布的帖子很容易就被收录,并且可以获

因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨

免费试用