2010-01-09 86 views
5

是否可以編寫一個將加載網頁的C#程序,傳遞Webform參數進行登錄,然後單擊鏈接並下載頁面信息?顯然,我會提供用戶名和密碼。是否有可能以編程方式登錄到使用C#的網站?

在上下文中,假設我想檢查我的學校帳戶是否有新的新聞更新,我必須使用我的學校用戶名/密碼登錄。我可以提供我的程序所需的信息,並以某種方式讓它將這些參數傳遞到網絡表單並繼續沿着頁面?

回答

8

是的,它是可以以編程方式登錄到網站。

你需要知道你的學校網站如何處理登錄。假設你的學校網站的登錄處理程序是一些Login.aspx,它需要用戶名和密碼作爲POST,那麼你需要使用WebRequest從你的程序發送一個POST請求,將你的用戶名和密碼作爲POST變量添加到你的請求中。

希望有所幫助。

+1

真棒,很酷的類,我沒有被介紹:)謝謝 – Chris 2010-01-09 05:05:10

5

如果登錄頁面使用HTTP認證(瀏覽器顯示的用戶名/密碼提示),那麼你可以通過與URL發送像這樣:

http://username:[email protected]/

的WebRequest的,您還可以設置它是Credentials屬性,並使用用戶名和密碼。

+3

我希望他們不只是使用HTTP與克里斯在那裏上學。他們將需要HTTPS以防止黑客入侵。 ;) – 2010-01-09 04:57:31

+0

用於HTTP驗證 – jrharshath 2010-01-09 05:07:00

1

使用WebRequest類的替代方法是WebBrowser控件。它基本上是一個Internet Explorer「面板」,您可以通過編程方式和通過用戶交互進行控制。該控件的API可能有點棘手,但它確實可以讓您訪問已加載頁面的DOM,然後可以通過代碼操作DOM。有時這可能非常方便。我自己在一些網絡抓取應用程序中使用它。

相關問題