Web クライアントを拡張して、Cookie 対応の Web クライアントを作成します。
private class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
: this(new CookieContainer())
{ }
public CookieAwareWebClient(CookieContainer c)
{
this.CookieContainer = c;
}
public CookieContainer CookieContainer { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
var castRequest = request as HttpWebRequest;
if (castRequest != null)
{
castRequest.CookieContainer = this.CookieContainer;
}
return request;
}
}
ログインをシミュレートする投稿リクエストを作成します。そのためには、送信ボタンをクリックしたときに何が起こっているかを正確に確認できる Fiddler を使用でき、コードで同じことを行うだけです。