服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java自己做个每小时自动更新的代理服务器(proxy)列表


  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>&nbsp;<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("<[^>]*>", "");
}
}

扫描关注微信公众号