程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 自動投票程序

自動投票程序

編輯:.NET實例教程

前天接到我哥的電話,說讓我幫忙寫個投票的程序要為他的一個朋友在網上投票,這種作弊行為我向來是不恥的,但是為了我哥的面子就硬著頭皮開始干了。本來以為分分鐘可以搞定的小程序,但是因為服務器是.net做的,挺麻煩,感冒好幾天了,前天達到了高潮,頭疼乏力,於是暫時擱置,洗洗睡了。昨天晚上開弄的,開始想用javascriPPT來做,但是因為框架跨域不能訪問,再加上Javascript實在難於調試,於是改用.net來做,但是軟件給人家的時候還要那邊裝.NetFramwork,這事挺惡心的。

實現的原理是這個樣子的,首先用嗅探器(我用的是微軟的Fiddler2,網上有的下載也挺好用)查出當點擊投票時提交的數據,然後使用WebClIEnt模擬浏覽器發給服務器就行了。源代碼如下:

 private void Post()
        ...{
            try
            ...{
                // 要提交表單的URI字符串。
                string uriString = "http://*****.****.**/index.ASPx";
               
                /**////////////////////////////////////////
                // 打開頁面
                /**////////////////////////////////////////
                WebClient webClient = new WebClIEnt();
                byte[] responseData = webClIEnt.DownloadData(uriString);
                string srcString = Encoding.UTF8.GetString(responseData);

      /**////////////////////////////////////////
                // 填寫頁面並提交
                /**////////////////////////////////////////
                webClient = new WebClIEnt();
                webClIEnt.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

                // 獲取頁面的 VeiwState                
                string viewStateFlag = "id="__VIEWSTATE" value="";
                int i = srcString.IndexOf(viewStateFlag) + vIEwStateFlag.Length;
                int j = srcString.IndexOf(""", i);
                string vIEwState = srcString.Substring(i, j - i);

                // 獲取頁面的 EventValidation                
                string eventValidationFlag = "id="__EVENTVALIDATION" value="";
                i = srcString.IndexOf(eventValidationFlag) + eventValidationFlag.Length;
                j = srcString.IndexOf(""", i);
                string eventValidation = srcString.Substring(i, j - i);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved