• 大小: 2.47MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: Java
  • 标签: java  

资源简介

Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,保存到相应的文件中。。。 其二:对已下载到本地的代理IP进行再筛选,对失效的代理IP进行处理,对任然有效的ip进行保存 结语:如果对你有帮助,请为我评论点赞

资源截图

代码片段和文件信息

package com.htt.proxy.achieve;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.io.FileUtils;

import com.htt.proxy.util.HttpClientUtil;

/**
  * @ClassName: GetWebValidateIpByProxy
  * @Description: 验证已下载到本地的代理ip集合是否有效
  * @author ex-hutao001
  * @date 2017年9月30日 下午2:43:53
  */
public class GetWebValidateIpByProxy
{
    static String resultfilePath = “D://data/paic/proxyip/ip_validate.txt“;
    static File resultfile = new File(resultfilePath);
    static List listResult = new ArrayList();
    
    public static void getServices(String host Integer port)
    {
        try
        {
            HttpClient httpClient = HttpClientUtil.getHttpClient(host port);
            GetMethod get = null;
            get = new GetMethod(
                    “https://www.baidu.com/“);  // 再次请求百度首页 
            long begeinTime = System.currentTimeMillis(); // 请求开始时间
            int statuCode = httpClient.executeMethod(get);
            long endTime = System.currentTimeMillis();    // 请求结束时间
            long time = endTime - begeinTime;   // 获得请求反应时间
            String str = get.getResponseBodyAsString();
            if (str != null && !str.equals(““))
            {
                if (str.contains(“www.baidu.com“))  // 如果含有baidu,证明获取成功,代理IP有效
                {
                    listResult.add(host + “:“ + port);
                    FileUtils.writeStringToFile(resultfile host + “:“ + port + “\n“ true);
                    System.out.println(“请求返回code:“ + statuCode + “;请求返回结果:“ + str + “;反应时间为:[“ + time/1000 + “秒]“);
                }
            }
        } catch (HttpException e)
        {
            System.out.println(“[“ + host + “:“ + port + “] 已失效“);
            e.printStackTrace();
        } catch (IOException e)
        {
            System.out.println(“文件有误,请修改文件路径“);
            e.printStackTrace();
        }
    }
    
    /**
     * @title: getProxyIpToFile 
     * @Description: 把获取到的有效的代理IP地址重写写入另一个文件
     * @param filepath void
     * @author ex-hutao001
     * @date 2017年9月30日
     */
    public static void getProxyIpToFile(String filepath)
    {
        File file = new File(filepath);
        try
        {
            List listIp = FileUtils.readLines(file);
            for (String str_ip : listIp)
            {
                String[] sip = str_ip.split(“:“);
                getServices(sip[0].toString() Integer.parseInt(sip[1]));
            }
            System.out.println(“参与验证的代理IP共:“ + listIp.size());
//            FileUtils.writeLines(resultfile listResult);
            System.out.println(“验证通过的IP有:“ + listResult.size());
        } catch (IOException e)
        {
            e.printStackTrace();

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        881  2017-09-29 16:51  ProxyControl\.classpath

     文件        388  2017-09-29 16:44  ProxyControl\.project

     文件        598  2017-09-29 16:44  ProxyControl\.settings\org.eclipse.jdt.core.prefs

     文件       4176  2017-09-30 14:54  ProxyControl\bin\com\htt\proxy\achieve\GetWebValidateIpByProxy.class

     文件       3788  2017-09-30 14:36  ProxyControl\bin\com\htt\proxy\achieve\ProxyCralwerUnusedVPN.class

     文件       2017  2017-09-30 14:07  ProxyControl\bin\com\htt\proxy\util\HttpClientUtil.class

     文件       1469  2017-09-30 14:28  ProxyControl\bin\com\htt\proxy\util\ProxyUtil.class

     文件     263965  2016-04-22 11:18  ProxyControl\lib\commons-codec-1.9.jar

     文件     575389  2016-04-22 11:18  ProxyControl\lib\commons-collections-3.2.1.jar

     文件     305001  2016-04-22 11:18  ProxyControl\lib\commons-httpclient-3.1.jar

     文件     185140  2016-04-22 11:18  ProxyControl\lib\commons-io-2.4.jar

     文件     207723  2016-04-22 11:18  ProxyControl\lib\commons-lang.jar

     文件     385091  2016-04-22 11:18  ProxyControl\lib\commons-lang3-3.2.1.jar

     文件      62050  2016-04-22 11:18  ProxyControl\lib\commons-logging-1.1.3.jar

     文件     589512  2016-04-22 11:18  ProxyControl\lib\httpclient-4.3.3.jar

     文件     327193  2017-09-29 16:50  ProxyControl\lib\jsoup-proxy.jar

     文件       3450  2017-09-30 14:54  ProxyControl\src\com\htt\proxy\achieve\GetWebValidateIpByProxy.java

     文件       3478  2017-09-30 14:36  ProxyControl\src\com\htt\proxy\achieve\ProxyCralwerUnusedVPN.java

     文件       2015  2017-09-30 14:07  ProxyControl\src\com\htt\proxy\util\HttpClientUtil.java

     文件        976  2017-09-30 14:28  ProxyControl\src\com\htt\proxy\util\ProxyUtil.java

     目录          0  2017-09-30 14:58  ProxyControl\bin\com\htt\proxy\achieve

     目录          0  2017-09-30 14:58  ProxyControl\bin\com\htt\proxy\util

     目录          0  2017-09-30 14:58  ProxyControl\src\com\htt\proxy\achieve

     目录          0  2017-09-30 14:58  ProxyControl\src\com\htt\proxy\util

     目录          0  2017-09-30 14:58  ProxyControl\bin\com\htt\proxy

     目录          0  2017-09-30 14:58  ProxyControl\src\com\htt\proxy

     目录          0  2017-09-30 14:58  ProxyControl\bin\com\htt

     目录          0  2017-09-30 14:58  ProxyControl\src\com\htt

     目录          0  2017-09-30 14:58  ProxyControl\bin\com

     目录          0  2017-09-30 14:58  ProxyControl\src\com

............此处省略8个文件信息

评论

共有 条评论