資源簡介
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個文件信息
評論
共有 條評論