一刷网络投票的小程序

最近看到网上一投票。

<img src="http://hi.csdn.net/attachment/201111/27/0_1322394776Eewr.gif" alt=""><br>

<br>

下载了个抓包工具<br>
简单的抓了下数据包。。。内容如下<br>
POST /Vote_doIP.asp HTTP/1.1<br>
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap,<br><br><br>
application/vnd.ms-xpsdocument, application/xaml+xml, */*<br>
Referer: http://show.qingdaobaby.com/Vote.asp?id=1247<br>
Accept-Language: zh-cn<br>
Content-Type: application/x-www-form-urlencoded<br>
Accept-Encoding: gzip, deflate<br>
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)<br>
Host: show.qingdaobaby.com<br>
Content-Length: 59<br>
Connection: Keep-Alive<br>
Cache-Control: no-cache<br>
Cookie: ASPSESSIONIDQQBBTADB=GNKABLHAIHABJFEGDJBHLFAK; cnzz_a634504=4; sin634504=none; rtime=0; ltime=1322322790279; cnzz_eid=99430049-1322321123-;<br><br><br>
oesun=vitistime=2011%2D11%2D26+23%3A52%3A15<br><br><br>
ValidCode=G%26KG&pid=1247&Submitok=%C8%B7%C8%CF%CD%B6%C6%B1<br>
上面是抓包工具抓到的内容。。<br><br>

从上面的内容可以看出

数据接收页面是这个

http://show.qingdaobaby.com/Vote_doIP.asp<br>
数据发送页面是<br>
http://show.qingdaobaby.com/Vote.asp?id=1247<br>
post的数据是 ValidCode=G%26KG&pid=1247&Submitok=%C8%B7%C8%CF%CD%B6%C6%B1 就是验证码。跟投票的编号 跟按钮的value<br>
就这些东西<br>
因为这个系统需要验证码 又找了下验证码的地址<br>
http://show.qingdaobaby.com/getcode.asp <br><br><br>
要解决的问题有<br>
1.验证码问题<br>
只要不第二次访问getcode.asp页面,服务器session中存的验证码不变。(有些网站比较完验证码后,不把session里的验证码清空)<br>
2.ip地址限制问题<br>
adsl网络换ip很容易<br>
用web代理也可以<br><br><br><br>

开发工具vs2008<br><br><br><br>
主要代码<br><br><br>
1.得到cookie的代码<br>
public void GetSession(string url)<br>
{<br>
cc = new CookieContainer(); <br>
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);<br>
request.CookieContainer = cc;<br>
HttpWebResponse response = (HttpWebResponse)request.GetResponse();<br>
cc.Add(response.Cookies);<br>
}<br>
2.取出当前cookie的验证码内容把它显示到 pictureBox中<br><br><br>
string url = "http://show.qingdaobaby.com/getcode.asp";<br>
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;<br>
request.CookieContainer = cc;<br>
HttpWebResponse response = request.GetResponse() as HttpWebResponse;<br>
System.IO.Stream responseStream = response.GetResponseStream();<br>
this.pictureBox1.Image = Image.FromStream(responseStream);<br><br><br>
3.可以输入验证码发送post请求了 session不过期,验证码是同一个 ,post代码<br>
ASCIIEncoding encoding = new ASCIIEncoding();<br><br>
string postData = "ValidCode=" + this.textBox2.Text + "&pid=1247";<br>
byte[] data = encoding.GetBytes(postData);<br>
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://show.qingdaobaby.com/Vote_doIP.asp");<br>
myRequest.Method = "POST";<br>
myRequest.ContentType = "application/x-www-form-urlencoded";//这个必须要加<br>
myRequest.ContentLength = data.Length;<br>
myRequest.Referer = "http://show.qingdaobaby.com";<br>
myRequest.CookieContainer = cc;<br>
Stream newStream = myRequest.GetRequestStream();<br>
newStream.Write(data, 0, data.Length);<br>
newStream.Close();<br>
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();<br>
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);<br>
string content = reader.ReadToEnd();<br>
4.adsl网络下可以用dos命令rasdial 来换ip<br>
private void com(string command)<br>
{<br>
System.Diagnostics.Process p = new System.Diagnostics.Process();<br>
p.StartInfo.FileName = "cmd.exe";<br>
p.StartInfo.Arguments = "/c " + command;<br>
p.StartInfo.CreateNoWindow =true;<br>
//MessageBox.Show(arg);<br>
//下面两句必须加<br>
p.StartInfo.UseShellExecute = false;<br>
p.StartInfo.RedirectStandardOutput = true;<br>
p.Start();<br>
string output = p.StandardOutput.ReadToEnd();<br>
//MessageBox.Show(output);<br>
//Console.WriteLine(output);<br>
}<br><br><br>
Thread.Sleep(1000);<br>
com("rasdial \"test\" /DISCONNECT"); //断开adsl连接<br>
Thread.Sleep(1000);<br>
com("rasdial \"test\" XXXXXX XXXXXX"); //adsl连接名称,用户名,密码。<br>
Thread.Sleep(10000);<br><br><br>
5.通过代理可以用下面的代码<br>
WebProxy proxy = new WebProxy("xxxxxxxx", 80);<br>
request.Proxy = proxy;<br><br>

<img src="http://hi.csdn.net/attachment/201111/27/0_1322395527m61H.gif" alt=""><br>

<br>

使用方法 :先点“得到cookie按钮”,再点“取验证码”,在文本框里输入输入验证码后,最后点“自动投票”。

<br>

<br>

如果你发现有什么不合理的,需要改进的地方,或者你有什么更好的实现方法邮件联系328452421@qq.com(qq常年不在线,邮件联系) 朱晓 。相互交流 谢谢

<br>

<br>

源码下载地址 [url=http://blog.csdn.net/xiaoxiao108/article/details/7017332]</a><a href="http://download.csdn.net/detail/xiaoxiao108/3864961">http://download.csdn.net/detail/xiaoxiao108/3864961[/url]根据需要自己修改源码<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值