2011-07-25 39 views
0

我正在構建一個需要在網站上驗證會話並提交/檢索數據的應用程序。HttpWebRequest和HttpWebResponse

這是我到目前爲止所能做到的(通過Google搜索)。我已經能夠檢測到請求的頁面是否真的存在,但不止這些,我不能繼續!

WebRequest request = WebRequest.Create("http://localhost/"); 
try 
{ 
    using (WebResponse response = request.GetResponse()) 
    { 
     HttpWebResponse httpResponse = (HttpWebResponse)response; 
     textBlock1.Text = "Connected ...\n Status code is: " + httpResponse.StatusCode; 
    } 
} 
catch (WebException e) 
{ 
    using (WebResponse response = e.Response) 
    { 
     HttpWebResponse httpResponse = (HttpWebResponse)response; 
     textBlock1.Text = "Error Code: " + httpResponse.StatusCode; 
    } 
} 

此代碼只是檢測Web請求源是否存在。現在我會假設來源存在,我如何發送用戶名/密碼進行身份驗證?

我會假設用戶名/密碼字段被命名爲用戶/同時傳遞...我如何將用戶名和密碼發送到網站以驗證和閱讀回覆?

我相信這部分會在整個開發過程中非常有幫助。

+0

您需要提供更多信息。用戶應該如何進行身份驗證?是通過嗎?基本身份驗證,Windows身份驗證或通過。該網站自己的身份驗證方法? – foxy

+0

網站如何處理授權?鑑於上面的代碼,我假設你必須在頁面上輸入用戶名/密碼,然後點擊提交,這是正確的嗎? – Dominik

+0

@Dominik:這是真的,你必須輸入用戶名和密碼,然後按Enter/Submit/whatever。 – sikas

回答

0

看一看這太問題(和答案):Login and retrieve data from embedded form page using C#

你只需要到窗體字段的名稱相應地調整你的目標網站。

+0

感謝您的支持,但它對桌面應用程序有效嗎?因爲這個鏈接是ASP – sikas

+0

是的,它的確如此。無論客戶端是服務器上的asp.net應用程序還是自己的計算機上的桌面應用程序,都沒有區別。 – Peter

0

WebRequest對象有一個Credentials屬性,您可以使用該屬性與請求一起發送。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("url-here"); 
request.Credentials = new NetworkCredential("username", "password"); 
+0

當你沒有提到認證方式時,你怎麼知道他的應用程序使用HTTP認證? – foxy

相關問題