用http協議請求使用代理ip

有這個一個需求,領導要求在網上給一個合做夥伴投票。投票系統作的不是很好有一些漏洞,做爲程序猿的咱們,果斷開始了自動刷票。
java

一、首先按F12查到網頁源代碼,截取出來投票連接。app

二、用程序模擬http get請求經過循環執行。dom

三、模擬執行的時候經過實踐發現同一個ip在必定時間內只能投10次,故此須要用到代理ip網站

下面看程序:.net

public class Toupiao {
	public static void main(String args[])
	{
		new Thread(){
			public void run() {
				while(true){
					try{
						doGet();
						Random r = new Random();
						int d = r.nextInt(20);
						Thread.sleep(d*2000);
					}catch(Exception e){
						e.printStackTrace();
					}
				}
			};
		}.start();
	}
	
	public static void doGet(){

		 StringBuffer sb = new StringBuffer();
		 //建立HttpClient實例
		 HttpClient client = getHttpClient();
		 //建立httpGet
		 HttpGet httpGet = new HttpGet("http://rank.cn-healthcare.com/vote/judge/3/5678c9c370617c24df5ab8bd");
		 //執行
		 try {
		  HttpResponse response = client.execute(httpGet);
		  
		  HttpEntity entry = response.getEntity();
		  
		  if(entry != null)
		  {
		   InputStreamReader is = new InputStreamReader(entry.getContent());
		   BufferedReader br = new BufferedReader(is);
		   String str = null;
		   while((str = br.readLine()) != null)
		   {
		    sb.append(str.trim());
		   }
		   br.close();
		  }
		  
		 } catch (ClientProtocolException e) {
		  // TODO Auto-generated catch block
		  e.printStackTrace();
		 } catch (IOException e) {
		  // TODO Auto-generated catch block
		  e.printStackTrace();
		 }
		 System.out.println(sb.toString());
		
	}

	//設置代理

	public static HttpClient getHttpClient() {

	DefaultHttpClient httpClient = new DefaultHttpClient();
	 String proxyHost = "58.67.159.50"; //此處是代理ip
	 int proxyPort = 80; //代理端口
	 HttpHost proxy = new HttpHost(proxyHost,proxyPort);
	 httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
	 return httpClient;
	}
}

 還有一個問題就是找代理ip代理

http://www.youdaili.net/ code

此網站有許多代理ip,有些能夠用有些不能夠用須要本身去嘗試。ip

你能夠先在本身的電腦上設置下代理ip試試看能不能訪問。以下:get

這樣我如今本機的ip地址就是泰國的了,同時有些ip不能用則上網是上不了的。這樣也能夠判斷代理ip的可用性。這裏用代理ip也能夠訪問國外的網站可是速度和穩定性就。。。。。。。。it

本篇完

相關文章
相關標籤/搜索