HTML5技术

简单的刷票系统(突破IP限制进行投票) - leesf(4)

字号+ 作者:H5之家 来源:博客园 2016-01-30 11:44 我要评论( )

package com.hust.grid.leesf.thread; import java.io.IOException; import java.util.concurrent.BlockingQueue; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.H

package com.hust.grid.leesf.thread; import java.io.IOException; import java.util.concurrent.BlockingQueue; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; import com.hust.grid.leesf.bean.IpInfo; public class VoteThread extends Thread { private BlockingQueue<IpInfo> ipInfoQueue; public VoteThread(BlockingQueue<IpInfo> ipInfoQueue) { this.ipInfoQueue = ipInfoQueue; } @Override public void run() { HttpClient client = new DefaultHttpClient(); HttpParams params = client.getParams(); HttpConnectionParams.setConnectionTimeout(params, 10000); HttpConnectionParams.setSoTimeout(params, 15000); HttpResponse response = null; HttpGet get = null; HttpEntity entity = null; HttpHost proxy = null; while (true) { IpInfo ipInfo = null; try { ipInfo = ipInfoQueue.take(); } catch (InterruptedException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } proxy = new HttpHost(ipInfo.getIpAddress(), ipInfo.getPort()); client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); get = new HttpGet( "http://www.hnxdf.com/vote/iRadio_vote.asp?VoTeid=215"); get.addHeader("Host", "www.hnxdf.com"); get.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"); try { response = client.execute(get); entity = response.getEntity(); byte[] bytes = EntityUtils.toByteArray(entity); // 对响应内容编码格式进行转化,统一成utf-8格式 String temp = new String(bytes, "gbk"); byte[] contentData = temp.getBytes("utf-8"); System.out.println(new String(contentData)); System.out.println("-----------------------------------"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } }

View Code

6.系统总结

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    2017-04-25 09:04

  • 《人民的名义》---简单的文本分析 - 视野

    《人民的名义》---简单的文本分析 - 视野

    2017-04-22 18:00

  • Omi全新版本来袭 - 指令系统 - 【当耐特】

    Omi全新版本来袭 - 指令系统 - 【当耐特】

    2017-04-20 14:04

  • [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三) - 反骨仔(二五仔)

    [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三) - 反

    2017-04-02 11:00

网友点评