Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 331|回复: 0

[网络编程学习]通过代理服务器访问url

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-30 00:00:14 | 显示全部楼层 |阅读模式
    这个程序用于模拟来自不同IP的用户访问某个URL
    首先从一个代理服务器地址公布网站获得代理服务器列表,然后用随机的代理服务器为出口访问指定的URL
    1. import java.io.*;
    2. import java.net.*;
    3. import java.util.*;
    4. import java.util.regex.*;
    5. public class AutoClick
    6. {
    7.     public static int count = 0;
    8.     public static List ipList = new ArrayList();
    复制代码

      
      
       
       
       

       
      
    1. public static void main(String[] args) throws Exception
    2.     {
    3.         String defurl="http://www.baidu.com";
    4.         // 从以下网址获得代理服务器ip列表

    5.         URL url = new URL("http://www.cemsg.com/proxy/");
    6.         if (Math.random() > 0.5)
    7.         {
    8.             url = new URL("http://www.cemsg.com/proxy/2.htm");
    9.         }
    10.         System.out.println("Use proxy list " + url);
    11.         URLConnection conn = url.openConnection();
    12.         BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    13.         String str = "";
    14.         StringBuffer sbuf = new StringBuffer();
    15.         while ((str = br.readLine()) != null)
    16.         {
    17.             sbuf.append(str);
    18.         }
    19.         str = sbuf.toString();
    20.         // 从HTML中筛出代理ip和port信息
    21.         Pattern p = Pattern.compile("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{2,4}");
    22.         Matcher m = p.matcher(str);
    23.         while (m.find())
    24.         {
    25.             ipList.add(str.substring(m.start(), m.end()));
    26.         }
    27.         // 开一个线程用随机的代理地址访问指定的url
    28.         new Thread(new ClickThread(defurl)).start();
    29.     }
    30. }
    31. class ClickThread implements Runnable
    32. {
    33.     public ClickThread(String urlAddr) {
    34.         this.urlAddr = urlAddr;
    35.     }
    36.     String proxyIP;
    37.     String proxyPort;
    38.     String urlAddr;
    39.     public void run() {
    40.         while (true)
    41.         {
    42.             try
    43.             {
    44.                 String[] ipInfos = AutoClick.ipList.get((int) (Math.random() * AutoClick.ipList.size())).toString().split(":");
    45.                 System.setProperty("http.proxyHost", ipInfos[0]);
    46.                 System.setProperty("http.proxyPort", ipInfos[1]);
    47.                 URL url = new URL(urlAddr);
    48.                 URLConnection conn = url.openConnection();
    49.                 BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    50.                 int rc = 0;
    51.                 while (br.readLine() != null)
    52.                 {
    53.                     rc++;
    54.                 }
    55.                 System.out.println("read " + rc);
    56.                 br.close();
    57.                 AutoClick.count++;
    58.                 System.out.println(ipInfos[0] + ":" + ipInfos[1] + " click " + urlAddr + " " + AutoClick.count + " times");
    59.             }
    60.             catch (Exception e)
    61.             {
    62.             }
    63.             try
    64.             {
    65.                 Thread.sleep(100);
    66.             }
    67.             catch (Exception e)
    68.             {
    69.             }
    70.         }
    71.     }
    72. }
    复制代码

    C:java>java AutoClick
    Use proxy list http://www.cemsg.com/proxy/
    read 16
    213.186.49.115:3128 click http://www.baidu.com 1 times
    read 16
    200.124.234.211:8080 click http://www.baidu.com 2 times
    read 16
    200.216.193.115:3128 click http://www.baidu.com 3 times
    read 16
    217.199.172.146:80 click http://www.baidu.com 4 times
    read 16
    165.228.132.11:80 click http://www.baidu.com 5 times
    read 16
    80.188.28.6:3128 click http://www.baidu.com 6 times
    read 16
    64.89.241.155:3128 click http://www.baidu.com 7 times
    read 16
    200.124.234.211:8080 click http://www.baidu.com 8 times
    read 16
    202.143.159.8:8080 click http://www.baidu.com 9 times
    read 16
    195.175.37.175:80 click http://www.baidu.com 10 times
    read 16
    203.199.181.194:80 click http://www.baidu.com 11 times
    read 16
    203.115.10.30:80 click http://www.baidu.com 12 times
    read 16
    203.94.85.0:80 click http://www.baidu.com 13 times



      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/30/000014234.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-5 05:02 , Processed in 0.424839 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表