本文實例講述了C#使用WebClient登錄網站并抓取登錄后的網頁信息實現方法。分享給大家供大家參考,具體如下:
C#登錄網站實際上就是模擬瀏覽器提交表單,然后記錄瀏覽器響應返回的會話Cookie值,再次發送請求時帶著這個會話cookie值去請求就可以實現模擬登錄的效果了。
如下類CookieAwareWebClient實現在發送請求時都帶著cookie。
public class CookieAwareWebClient : WebClient{  private CookieContainer cookie = new CookieContainer();  protected override WebRequest GetWebRequest(Uri address)  {    WebRequest request = base.GetWebRequest(address);    if (request is HttpWebRequest)    {      (request as HttpWebRequest).CookieContainer = cookie;    }    return request;  }}如下是模擬表單提交登錄的使用示例:
var client = new CookieAwareWebClient();client.BaseAddress = @"https://hovertree.net/any/base/url/";var loginData = new NameValueCollection();loginData.Add("login", "YourLogin");loginData.Add("password", "YourPassword");client.UploadValues("login.php", "POST", loginData);//Now you are logged in and can request pagesstring htmlSource = client.DownloadString("index.php");更多關于C#相關內容感興趣的讀者可查看本站專題:《C#編碼操作技巧總結》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結》、《C#數據結構與算法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結》
希望本文所述對大家C#程序設計有所幫助。
新聞熱點
疑難解答