首頁  >  文章  >  後端開發  >  C#使用WebClient登入網站並抓取登入後的網頁資訊實作方法

C#使用WebClient登入網站並抓取登入後的網頁資訊實作方法

黄舟
黄舟原創
2017-05-14 10:37:313061瀏覽

這篇文章主要介紹了C#使用WebClient登入網站並抓取登入後的網頁資訊實作方法,涉及C#基於會話操作登陸網頁及頁面讀取相關操作技巧,需要的朋友可以參考下

本文實例講述了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 pages
string htmlSource = client.DownloadString("index.php");

以上是C#使用WebClient登入網站並抓取登入後的網頁資訊實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn