首先,請原諒我對這個問題的天真。我是一位退休的程序員,在DOS出現之前就開始了。我不是ASP.NET的專家。我需要知道的一部分是我需要知道的。 (如果喲跟着我...)控制檯應用程序登錄到ASP.NET網站
所以我想登錄到一個網站和刮一些內容。使用記事本和fiddler2查看HTML源代碼後,我很清楚該網站是使用ASP.NET技術實現的。
我開始做了很多谷歌和閱讀一切,我可以找到關於在C#中編寫屏幕抓取工具。經過一番調查和多次嘗試,我認爲我得出的結論是,這並不容易。
問題的關鍵(正如我現在看到的那樣)是ASP爲程序員提供了很多維護狀態的方法。 Cookies,視圖狀態,會話變量,頁面變量,獲取和發佈參數等等。另外,程序員可以在服務器和客戶端腳本之間劃分工作。諸如IE或Safari,Chrome或Firefox等豐富的Web客戶端知道如何處理程序員寫的任何內容(以及ASP框架在封面下實現的內容)。
WebClient不是一個豐富的Web客戶端。它甚至不知道如何實施cookie。
所以我陷入了僵局。一種方法是嘗試對ASP應用程序期望的胖客戶端的所有功能進行逆向工程,並在類固醇類上編寫一個Web客戶端,以模仿富客戶端,以便能夠登錄。
或者我可以嘗試將IE(或其他富客戶端)嵌入到我的應用程序中,並希望公開的界面足夠豐富,以便我可以通過編程方式填寫用戶名和密碼字段並將表單發回。 (並訪問響應流,這樣我就可以解析HTML以剔除我之後的數據...)
或者我可以尋找一些第三方控件,這將比WebClient更豐富。
任何人都可以對我應該把注意力集中在哪裏有一些敏銳的見解嗎?
這是一個像項目一樣多的學習體驗。也就是說,我真的想要自動從目標網站進行登錄和信息檢索。
請參閱http://stackoverflow.com/questions/1777221/using-cookiecontainer-with-webclient-class如何在WebClient中使用Cookie。 – abatishchev
你在做什麼叫[網頁爬行](http://stackoverflow.com/questions/tagged/web-crawler) – abatishchev