零基础http代理http完美代理访问

  • 内容
  • 评论
  • 相关

零基础http代理http完美代理访问

如果翻过墙,或者做过渗透啥的,肯定对代理不陌生,说白了,代理服务器就是一个中转站,你对目标网址的请求都会进过代理服务器去请求,类似于一个被你操控的傀儡,别人能知道的也只能是这个代理,从而提升安全性和访问一些受限制的网站。

实现方式

 

方法一 :使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:  

 

方法二 :使用Proxy来对每个连接实现代理, 这种方法只能在jdk 1.5以上的版本使用(包含jdk1.5), 优点是可以单独的设置每个连接的代理, 缺点是设置比较麻烦:

 

先上结果

 

国内免费代理的特点是又慢又卡,没办法,谁让人家免费呢,上面出现GET方式请求异常可能有两个可能

      1、超时(我设置了3s超时

      2、代理不能用(这就没办法了)

具体实现

方法一 :使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:  

 

别着急,别看到这个就头大,这是API接口说明

方法二 :使用Proxy来对每个连接实现代理, 这种方法只能在jdk 1.5以上的版本使用(包含jdk1.5), 优点是可以单独的设置每个连接的代理, 缺点是设置比较麻烦:

 

测试

下面的代码分别测试了不使用代理,设置全局代理,为单个连接设置代理3中情况。(测试代码中的代理为网上找的免费代理,比如:http://www.xicidaili.com/,响应速度,稳定性极差),如果代理无响应,java还会自动切换到本地请求

在上面的结果中有很多的异常,也有很多的本地请求(因为我目前所在地是在天津,切换本地请求就是天津)

注意了:代理服务器ip和端口都不是随便乱填的,是找的网上免费代理服务器

 

测试完就会输出代理服务器的ip和所在地理位置,如果发现不行,那换一个服务器试试,http://www.xicidaili.com/

 

 


自动化操作

我们想达到刷访问量,刷票等需求的时候,不可能手动操作,那样会累死的,想刷100个访客或者100张票,那还得等刷到啥时候去了。

 

我们用http请求访问免费服务器,虽然有很多不能用,不能用的跳过,我们依然可以有很多的机会,更何况有好几千个免费代理服务器,况且还不断刷新,再说了,网上一大堆网站都分享免费服务器,慢归慢,卡归卡,但是免费呀,好了,废话不多说,看代码。

 

我们访问http请求得到相应的网页信息,但是我们要从中取出ip地址和端口号(得到网页String-->转换XML(dom4j)(更方便取)-->取代理服务器ip和端口)

 

其中用到了dom4j的jar包,maven贴上,

 

 

Main.java

 

 

HttpUtils.java

 

 

HttpClient.java

 

 

通过这样的操作,我们还不够,一个线程的力量是微小的,我们用多线程,分发线程,循环渐渐,我们想要的目的就达到了。

 

再或者我们可以用定时调度,有以下几种主要技术

      1、Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务;

      2、Quartz;

      3、Spring3.0以后自带的task。

 

在每天定点定时的去访问我们的线程,这样我们可以完全放手让程序自己去跑,我们只需要偶尔看看它完成的好不好就ok的,这样服务器也会稍微轻松一点,这样也比较锻炼我们的技术与能力。

 

如果想关注spring的定时调度,请关注我的下一篇博文。

 

 

积木搭起的房子看似很美,

却会在不经意间轰然倒塌。

喜欢 3

评论

1条评论
  1. Gravatar 头像

    淼淼之森 回复

    师傅我也来占个沙发,显式的支持你一波

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Title - Artist
0:00