用DOS批处理来进行自动刷票

因为要帮人投票,就花了几个小时学习了下简单的DOS批处理和HTTP请求的知识,用DOS进行自动POST请求提交。

主要功能是自动投票,支持POST方式,支持IP地址变换。但是不支持有验证码的情况。

主要原理是用批处理批量读取代理ip信息,写入到IE注册表项,然后自动进行POST提交,做的比较简单,以后如果有兴趣的可以用VB或者C++再写个图形化的程序出来。


准备工具:

1,智能IP代理软件。可以通过百度搜索得到,主要是为了批量生成代理IP用。

下载地址:http://www.onlinedown.net/soft/267606.htm

2,wireshark。或者别的抓包软件也可以。是为了得到POST的地址和POST数据。

下载地址请百度。


OK,下面开始正式的步骤。


1,首先通过智能IP代理软件得到批量的可用ip地址,然后保存成txt文本。命名为proxy.txt,并保存到C盘根目录。

2,使用wireshark抓包得到POST地址和数据。



OK,然后你就得到了POST请求的网址和数据,网址就是上面的Full request url。数据就是最下面的两个From item。


3,然后呢,需要写一个小的网页用来自动POST提交,非常简单,代码如下:

<!DOCTYPE html>
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>POST</title>

<body>

<form name="form1" action="POST地址" method="POST">
    <input type="hidden" name="POST数据" value="POST数据">
    <input type="hidden" name="POST数据" value="POST数据">
</form>
<script> 
window.onload=function(){
  document.form1.submit();    
}
</script> 

自动POST方式投票

</body></html>

把POST地址和数据替换成你抓包得到的值。

然后保存成一个HTML文件,命名为autoVote.html,并保存到C盘根目录


4,然后执行下面的一段批处理脚本。

@echo off
for /f %%i in (C:\proxy.txt) do (
echo kill iexplore
taskkill /f /IM iexplore.exe
echo set ProxyServer %%i
@echo off  
title 自动设置代理服务器
echo 正在设置代理服务器
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f  
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d %%i /f  
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "" /f  
echo 正在刷新设置
ipconfig /flushdns
ping -n 10 127.0.0.1 > nul
start iexplore.exe C:\autoVote.html
ping -n 30 127.0.0.1 > nul)


pause

上面的脚本主要作用是首先读取生成的proxy地址,然后将此地址写入注册表。然后自动打开POST请求的HTML网页发送请求。这样就可以自动的进行投票啦!

上面的C:\proxy.txt是第一步生成的文件路径。 C:\autoVote.html是第三步生成的网页。

需要注意的是,如果打开网页提示禁止Active X脚本,需要勾选IE的允许活动内容运行选项。


另外写注册表的时候有些杀毒软件会禁止,最好执行的时候,把杀毒软件关闭。

说明:以上文章仅为技术讨论用途,禁止技术讨论以外的其他用途,产生纠纷与本作者无关!


猜你喜欢

转载自blog.csdn.net/wangruihit/article/details/19748967