还是关于投票程序

最近还是一个投票任务,不过这次是公司给的活,给某位名人在某大网站作弊投票,呵呵,不知道怎么会搞出网上投票的,我想想网上投票基本都能作弊。
    经过分析发现这里的投票程序限制有三个,1、referer,2、IP,3、cookies。反正1和3都好解决,关键是2怎么办。本来拿我上次的拨号程序改吧改吧就给了人家,结果这几天他那个IP段的IP基本都已经投过票了。现在大部分IP都不能投了。于是又缠我改成多代理投票。
     这个小程序代码分成三部分,一部分是读proxy列表的代码,我将列表处理成ArrayList.第二部分是投票的代码,这里伪造referer,读取代理投票。第三部分是投票日志。第一和第二部分在一个线程中运行,第三部分另外一个线程。主要还是说第二部分吧。
    选中了.net中HttpWebRequest因为它和WebRequest类都有Proxy的方法。但是在WebRequest类中某些Headers的类别添加受到限制,如referer,而他的子类HttpWebRequest中倒是提供了referer属性的修改方法,所以就用HttpWebRequest了。整个代码都很简单,这个方法的参数uri是代理地址和端口,就几行代码就能把票投上,用代理列表来个循环就ok了,但是我觉得HttpWebRequest.Proxy的速度有点慢,下次改成socket的试试。


private void send(string uri)
            {
            //需要post的数据
            string sData="q_884%5B%5D=4316&user_5=&user_6=&user_8=&poll_id=7514";
            
            HttpWebRequest    Req = (HttpWebRequest)HttpWebRequest.Create("http://XXXXXX/polling.php");
            WebHeaderCollection wh=Req.Headers;
            
            byte[] b=Encoding.ASCII.GetBytes(sData);
                                  //伪造header
            Req.Proxy=new WebProxy("http://"+uri+"/",true);
            Req.ContentType="application/x-www-form-urlencoded";
            Req.Referer="http://XXXXXX/";
            Req.Accept="image/gif, image/x-xbitmap, image/jpeg, image/pjhome.net" target="_blank">pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
            Req.Headers.Add("Accept-Language","zh-cn");
            Req.Headers.Add("Accept-Encoding","gzip, deflate");
            Req.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";        
            Req.ContentLength=b.GetLength(0);        
            Req.Headers.Add("Cache-Control","no-cache");
            Req.Method="POST";
            Stream s=Req.GetRequestStream();
            s.Write(b,0,b.GetLength(0));
            s.Close();
            WebResponse response=null;
            
            response=Req.GetResponse();

            /*for (int i=0;i            Console.WriteLine(wh.AllKeys[i].ToString()+":"+wh[i].ToString());
            }*/

            string strReturn;
            System.IO.StreamReader _read=new System.IO.StreamReader(response.GetResponseStream(),System.Text.Encoding.Default);
            //textBox1.Text=_read.ReadToEnd();
            strReturn=_read.ReadToEnd();
            _read.Close();            
            if (strReturn.Length<1500)
            {
                oLog.arrMsg.Add(getnow().ToString()+"--"+ uri +"is failing...\r\n");
            }
            else
            {
                oLog.arrMsg.Add(getnow().ToString()+"--"+ uri +"is seccess...\r\n");
            }
            //string strresponse=Encoding.ASCII.GetString(((byte[])Req.responseBody));
        }

  


上一篇: 淹城踏青
下一篇: 艰苦奋斗,从内裤做起~~
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 1 | 引用: 0 | 查看次数: 2933
西马
西马[2006-04-12 11:13 PM | | | 222.188.191.12 | del | 回复回复]
沙发
快成作弊专家了
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 5000 字 | UBB代码 关闭 | [img]标签 关闭