java自己做個每小時自動更新的代理服務器(proxy)列表
發表于:2007-07-04來源:作者:點擊數:
標簽:
java自己做個每小時自動更新的代理 服務器 (proxy)列表 今天,偶爾看到有個國外網站每小時自動發布最新的代理服務器。 于是,就寫了個程序,把它網站的代理服務器地址保存到本地 然后每小時執行一次。 程序是用java寫的,原理就是抓取網頁內容,然后分析其中
java自己做個每小時自動更新的代理
服務器(proxy)列表
今天,偶爾看到有個國外網站每小時自動發布最新的代理服務器。
于是,就寫了個程序,把它網站的代理服務器地址保存到本地
然后每小時執行一次。
程序是用java寫的,原理就是抓取網頁內容,然后分析其中的代碼
保存在c:\proxy.htm文件中。
每小時運行該java程序,是通過計劃任務實現的
效果還不錯。
如果能夠從多個站點
下載代理服務器,再加上能夠驗證代理服務器的有效性
就比較完美了。
如果自己有服務器的話,就也可以每小時發布最新的代理服務器了。
java程序源代碼如下:
/**
* 保存代理服務器地址到 c:\proxy.htm 文件
* @web http://blog.csdn.net/cqq
* @author 慈勤強
* @version 1.00 05/02/01
*/
import java.net.*;
import java.io.*;
import java.util.regex.*;
import java.util.*;
public class JavaProxy {
public static void main(String[] args) throws Exception {
System.out.println("正在生成代理列表...\r\n");
JavaProxy ou=new JavaProxy();
File f=new File("c:\\proxy.htm");
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f)));
String str=ou.getProxy1();
Pattern p=Pattern.compile("<li>");
String[] ss=p.split(str);
String strTmp="";
String str1="";
if(ss.length>1)
{
bw.write("<table width=\"90%\" border=\"0\" align=\"center\" bgcolor=\"#F9F9F9\"><tr><
td>");
bw.write("<b>Last Modified:"+new Date().toLocaleString()+"</b><br> <br>");
for(int i=1;i<ss.length;i++)
{
strTmp=ss[i].substring(10,12); //Country
if(strTmp.equals("CN"))
strTmp="<font color=red><b>"+strTmp+"</b></font>";
str1=removeAllTag(ss[i]);
bw.write(""+i+" "+strTmp+" "+str1+"<br>");
}
bw.write("</td></tr></table>");
}
bw.close();
System.out.println("完成");
System.exit(0);
}
private String getProxy1()
{
int i=0;
try{
URL url=new URL("http://www.cybersyndrome.net/pla.html");
BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
String s="";
StringBuffer sb=new StringBuffer("");
while((s=br.readLine())!=null)
{
i++;
if(i>80&&i<89)
{
sb.append(s+"\r\n");
}
}
br.close();
return sb.toString();
}
catch(Exception e){
return "error open url" +e.toString();
}
}
public static String removeAllTag(String src)
{
return src.replaceAll("<[^>]*>", "");
}
}
原文轉自:http://www.kjueaiud.com