有這個一個需求,領導要求在網上給一個合做夥伴投票。投票系統作的不是很好有一些漏洞,做爲程序猿的咱們,果斷開始了自動刷票。
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代理
此網站有許多代理ip,有些能夠用有些不能夠用須要本身去嘗試。ip
你能夠先在本身的電腦上設置下代理ip試試看能不能訪問。以下:get
這樣我如今本機的ip地址就是泰國的了,同時有些ip不能用則上網是上不了的。這樣也能夠判斷代理ip的可用性。這裏用代理ip也能夠訪問國外的網站可是速度和穩定性就。。。。。。。。it
本篇完