2012-03-10 92 views
0

我閱讀了類似標題和測試代碼的問題,但我的問題沒有解決。 我的問題:我需要一個C#程序,將日期發佈到調制解調器登錄頁面。我的調制解調器是wimax bm632。登錄頁面的地址是htp://192.168.1.1/,在http://192.168.1.1/中有 的表單的動作是http://192.168.1.1/index/login.cgi(表單動作)。我想在登錄成功後轉到http://192.168.1.1/html/wimax/security.asp並獲取頁面源代碼。 登錄頁面:http://chamalz.persiangig.com/image/1.JPGWebRequest在登錄頁面發佈數據

我寫這篇文章的代碼:

WebRequest request = WebRequest.Create("http://192.168.1.1/index/login.cgi"); 

     request.Method = "POST"; 

     string postData = "Username=admin&Password=YWRtaW4%3D"; 
     byte[] byteArray = Encoding.UTF8.GetBytes (postData); 

     request.ContentLength = byteArray.Length; 

     Stream dataStream = request.GetRequestStream(); 

     dataStream.Write (byteArray, 0, byteArray.Length); 

     dataStream.Close(); 

     WebResponse response = request.GetResponse(); 

     textBox1.Text=(((HttpWebResponse)response).StatusD escription); 

     dataStream = response.GetResponseStream(); 

     StreamReader reader = new StreamReader (dataStream); 

     string responseFromServer = reader.ReadToEnd(); 

     textBox1.Text= (responseFromServer); 

     reader.Close(); 
     dataStream.Close(); 
     response.Close(); 

該代碼有沒有錯誤,但有一個問題:當我發表我的用戶名和密碼是否正確或不正確的,我收到的textBox1.Text一個響應 的回覆是:http://chamalz.persiangig.com/image/2.JPG

請幫幫我。

回答

1

首先你需要知道什麼數據通過POST方法發送到登錄頁面。 爲實現這一點,你必須manualy登錄和捕捉髮布的數據通過使用HTTP捕捉軟件,如httpdebugger 你找到正確的POST數據和的HTTPHeader你可以把你的代碼數據,並嘗試登錄programaticaly

+0

主機後登錄 這可能頁: 192.168.1.1 User-Agent:Mozilla/5.0(Windows NT 6.1; rv:10.0.2)Gecko/20100101 Firefox/10.0.2 Accept:text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8 Accept-Language:zh-cn,en; q = 0.5 Accept-Encoding:gzip,deflate C onnection:keep-alive Referer:http://2.146.200.26/ Cookie:FirstMenu = Admin_0; SecondMenu = Admin_0_0; ThirdMenu = Admin_0_0_0;語言= EN; SessionID_R3 = 526578199 內容類型:應用程序/ x-WWW窗體-urlencoded 的Content-Length:34 帖子內容: 用戶名=管理員和密碼= YWRtaW4%3D – chamalz 2012-03-10 19:59:28

+0

這個頭,請幫我 – chamalz 2012-03-10 20:01:50

+0

你需要要爲請求設置cookie,首先你必須閱讀登錄頁面響應,並從登錄頁面獲取Set-Cookie頭,然後你必須設置cookie像你捕獲的請求 – Hamid 2012-03-11 07:17:22