快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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






返回类别: 教程
上一教程: Java开发工具配置 UltraEdit
下一教程: JAVA规则??中级篇

您可以阅读与"java自己做个每小时自动更新的代理服务器(proxy)列表"相关的教程:
· Java中通过代理服务器(proxy)访问网络
· 一些提供代理服务器IP列表的链接
· 使用 Java 连接处于proxy(or 防火墙)之外的HTTP服务器
· Java的网络编程:用Java实现Web服务器
· 用JAVA编写客户-服务器程序的若干心得
    微笑服务 优质保证 索取样品