原创地址:http://www.iteye.com/topic/755696
刚才无意间看到一个投票,在页面右键,源码,看了下,就几个字段,很简单。
打开eclipse,操上httpclient模拟下,就可以投票了。
然后循环,,,, 发现“对不起,您已经提交了”。加了验证,没有登录可以提交,过了会刷页面还是可以提交。
说明不是通过ip控制了,那就是用ip+时间控制的了。
试了下,10s的延时可以,9s都貌似不行。
投票地址:
http://page.vote.qq.com/?id=141068&result=yes
投票代码:
- import java.io.IOException;
-
import java.io.UnsupportedEncodingException;
-
-
import org.apache.commons.httpclient.HttpClient;
-
import org.apache.commons.httpclient.HttpException;
-
import org.apache.commons.httpclient.NameValuePair;
-
import org.apache.commons.httpclient.cookie.CookiePolicy;
-
import org.apache.commons.httpclient.methods.PostMethod;
-
-
public class QQVoteGuomei {
-
-
private static String VOTE_SHOW = "http://page.vote.qq.com/?id=141068&result=yes";
-
private static String VOTE = "http://input.vote.qq.com/survey.php";
-
-
-
-
-
-
-
-
public static void main(String[] args) throws HttpException, IOException, InterruptedException {
-
-
-
-
-
int i = 1;
-
while(true){
-
System.out.println("==> 第 " + i++ +" 次投票.");
- vote();
-
-
Thread.sleep(10000);
- }
-
-
- }
-
-
private static void vote() throws IOException, HttpException, UnsupportedEncodingException {
-
HttpClient client = new HttpClient();
- client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
-
-
-
PostMethod post = new PostMethod(VOTE);
- post
- .addRequestHeader(
-
"User-Agent",
-
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; CIBA; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; msn OptimizedIE8;ZHCN)");
-
post.addRequestHeader("Host", "page.vote.qq.com:80");
-
post.setRequestHeader("Referer", VOTE_SHOW);
-
-
NameValuePair[] nvp = new NameValuePair[5];
-
-
-
-
-
nvp[0] = new NameValuePair("PjtID", "141068");
-
nvp[1] = new NameValuePair("result", "0");
-
nvp[2] = new NameValuePair("sbj_361707[]", "25593");
-
nvp[3] = new NameValuePair("sbj_361708[]", "25596");
-
nvp[4] = new NameValuePair("sbj_361709[]", "25598");
-
- post.setRequestBody(nvp);
-
-
-
int statusCode = client.executeMethod(post);
-
System.out.println("statusCode : " + statusCode);
-
-
if (statusCode == 200) {
-
if (post.getResponseBody() != null) {
-
String response1String = new String(post.getResponseBody(),"gbk");
- System.out.println(response1String);
- }
- }
-
- }
-
- }
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;
public class QQVoteGuomei {
private static String VOTE_SHOW = "http://page.vote.qq.com/?id=141068&result=yes";
private static String VOTE = "http://input.vote.qq.com/survey.php";
/**
* @param args
* @throws IOException
* @throws HttpException
* @throws InterruptedException
*/
public static void main(String[] args) throws HttpException, IOException, InterruptedException {
// TODO Auto-generated method stub
//int count = 10000000;
//for (int i = 0; i < count; i++) {
int i = 1;
while(true){
System.out.println("==> 第 " + i++ +" 次投票.");
vote();
//if(i < count - 1)
Thread.sleep(10000);
}
//}
}
private static void vote() throws IOException, HttpException, UnsupportedEncodingException {
HttpClient client = new HttpClient();
client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
PostMethod post = new PostMethod(VOTE);
post
.addRequestHeader(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; CIBA; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; msn OptimizedIE8;ZHCN)");
post.addRequestHeader("Host", "page.vote.qq.com:80");
post.setRequestHeader("Referer", VOTE_SHOW);
NameValuePair[] nvp = new NameValuePair[5];
// <input type="hidden" name="PjtID" value="141068" >
// <input type="hidden" name="result" value="0" >
nvp[0] = new NameValuePair("PjtID", "141068");
nvp[1] = new NameValuePair("result", "0");
nvp[2] = new NameValuePair("sbj_361707[]", "25593");
nvp[3] = new NameValuePair("sbj_361708[]", "25596");
nvp[4] = new NameValuePair("sbj_361709[]", "25598");
post.setRequestBody(nvp);
// 使用POST方式提交数据
int statusCode = client.executeMethod(post);
System.out.println("statusCode : " + statusCode);
if (statusCode == 200) {
if (post.getResponseBody() != null) {
String response1String = new String(post.getResponseBody(),"gbk");
System.out.println(response1String);
}
}
}
}
输出:
==> 第 1 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 2 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 3 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 4 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 5 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 6 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
==> 第 7 次投票.
statusCode : 200
<script>try{document.domain="qq.com";window.parent.AppPlatform.Survey.Input.callback("0","361707-25593:1:0|361708-25596:1:0|361709-25598:1:0");}catch(e){alert("提交成功,谢谢参与!");if(0==141068){window.opener=null;window.close();}else{window.location.replace("http://page.vote.qq.com?id=141068&result=yes");}}</script>
........
--------------------------------------------------------------------------
一般的灌水机,投票机,注册机大概就是这个样子的:
1\分页页面表单元素
2\分析页面跳转流程
3\ 获取和分析验证码
4、模拟表单提交
5、保持cookie
6、执行操作
7、分析返回结果
分享到:
相关推荐
本投票系统,实现三个角色: 选民、备选对象、管理员; 实现参加票选、管理投票...说明:投票模拟系统除了**排名 **功能的算法还没有写,其余功能的算法均已完成,为了方便测试,选民和备选对象均已初始化了三组数据。
本示例“jquery模拟的投票demo”是利用jQuery库创建的一个简单的投票功能演示。jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。 在描述中提到了两个关键文件:...
在IT行业中,模拟微信访问WAP页面刷投票是一种常见的技术手段,主要应用于自动化测试、数据分析或者特定场景下的投票活动。这个RAR压缩包文件名为“MonitorWeixinBrowser”,可能包含了一个工具或代码库,用于监控并...
在C++编程中,模拟投票系统是一个典型的面向对象程序设计(OOP)示例,它涉及到类的设计和对象的交互。下面将详细解释这个主题。 首先,类是C++中的核心概念,它定义了一组相关的属性(数据成员)和行为(成员函数...
标题中的“基于plc1200十人投票机的博途课设程序”表明这是一个使用SIMATIC PLC S7-1200控制的设备,用于实现十个人的投票功能。博途(TIA Portal)是西门子推出的一款集成自动化软件,用于编程、配置、诊断和维护...
模拟HTTP链接,解析http协议内容,通过自定义IP和调用代理IP,实现投票功能,仅供学习研究
1. **网络请求**:自动投票首先需要模拟用户行为,发送HTTP或HTTPS请求到服务器。这通常会用到如Python的`requests`库,Java的`HttpURLConnection`,或者JavaScript的`fetch`API等。 2. **网页解析**:投票页面通常...
本程序模拟了一个简单的投票过程: - 用户输入参与投票的人数。 - 对每个人随机分配一个选项('A'、'B'、'C'、'D'或弃权)。 - 统计每个选项的得票数。 - 输出最终结果。 #### 2. 结果排序输出 - 使用了一个简单的...
PLC 实现十人投票机 随着工业自动化技术的发展,PLC(Programmable Logic Controller)作为一种专门为工业环境下应用而设计的数字运算操作电子装置,广泛应用于工业控制系统。下面将详细介绍 PLC 实现十人投票机的...
1. 允许系统管理用户设定系统投票主题以及投票选项,具有添加、删除、修改功能,选择当前投票主题(系统在一时间段只能开启一个投票主题)。 2. 系统管理用户可以设定系统IP地址和端口号、投票有效时间、是否允许...
QQ投票机需要模拟用户登录,这涉及到HTTP/HTTPS协议的使用,以及可能的Cookie管理,确保登录状态的保持。 4. **登录群空间**:QQ群空间是腾讯QQ提供的一个社交平台,用户可以在群空间中发布信息、参与讨论等。登录...
Java基于同态加密的匿名电子投票选举系统简介同态加密匿名投票demo系统,模拟投票、计票、公示三方分立。投票采用公钥加密,公示方拥有私钥。投票方将加密后票送到计票方,计票方利用同态特性进行计算,得到汇总的...
5. **后端逻辑**:使用服务器端语言(如Python的Django、Flask,Java的Spring Boot,Node.js的Express等)处理HTTP请求,实现投票的创建、参与、查询等功能。同时,需要考虑数据验证、错误处理和安全性。 6. **安全...
五人投票机系统设计-PLC.doc 本文档介绍了五人投票机系统的设计,使用 PLC 控制系统实现自动投票机的设计。该系统可以准确持续完成生产过程自动化的综合自动化控制,提高了生产效率,降低了产品的成本。 知识点: ...
这种工具通常会利用自动化机制,例如模拟人类行为进行投票,以实现高效快捷的效果。 【描述】中的"很快就会使你的票数增加几千1000,几万个100000"暗示了这款投票机具有强大的票数增长能力,能在短时间内为用户带来...
QQ投票机的主要功能可能是模拟用户行为,自动进行QQ平台上的投票活动。在实现过程中,开发者需要处理以下几个关键技术点: 1. **网络通信**:易语言提供了丰富的网络模块,如TCP/UDP通信,HTTP/HTTPS协议等。在这个...
这种做法在实际中可能涉及到了网络爬虫和反反爬虫的技术,因为投票机可能需要模拟用户行为,自动发送请求。 1. **代理服务器工作原理**: - 代理服务器接收客户端的请求,然后将请求转发到目标服务器,再将服务器...
QQ投票机可能通过模拟用户行为,自动完成投票过程,从而提高某个选项的票数。这涉及到网络编程、数据抓取以及模拟用户操作等多个方面的知识。 在易语言中,开发者需要了解网络模块的使用,如HTTP请求的发送、接收...
【Java实现简单投票系统】 Java是一种广泛使用的编程语言,尤其在构建Web应用程序方面表现出色。在本项目中,我们利用Java技术实现了一个简单的投票系统。这个系统的核心是通过Ajax技术来实现实时投票和结果反馈,...