ホームページ  >  記事  >  バックエンド開発  >  C# は WebClient を使用して Web サイトにログインし、ログイン後に Web ページの情報を取得します。

C# は WebClient を使用して Web サイトにログインし、ログイン後に Web ページの情報を取得します。

黄舟
黄舟オリジナル
2017-05-14 10:37:313071ブラウズ

この記事では主に C# WebClient を使用して Web サイトにログインし、ログイン後の Web ページ情報を取得する実装方法を紹介します。これには、Web ページにログインするための C# ベースのセッション操作と、ページの読み取り関連の操作スキルが必要です。この記事の例を参照してください

WebClientを使用してWebサイトにログインし、ログイン後のWebページ情報を取得するC#の実装方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

Web サイトにログインすると、実際にブラウザがフォームを送信するようにシミュレートされ、リクエストを送信するときにブラウザの応答によって返されるセッション 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 を使用して Web サイトにログインし、ログイン後に Web ページの情報を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。