WindowsForm上にWebBrowserを表示し、
読み込んだサイトのCookieをWebBrowserからWebClientに引き渡して処理を行います。
# Form1.cs
namespace WindowsFormsApplication1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("http://test1/");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// クッキーを取得する。
string cookieStr = webBrowser1.Document.Cookie;
// WebClientを生成する。
WebClient wc = new WebClient();
Encoding enc = Encoding.UTF8;
// WebClientのヘッダ設定を行う。
// wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)");
wc.Headers[HttpRequestHeader.Cookie] = cookieStr;
// WebClientでクッキーを引き継いで他のサイトにアクセスする。
byte[] result = wc.DownloadData("http://test2/");
string html = enc.GetString(result);
Console.WriteLine(html);
// クッキーの中身を確認する。
// string[] cookieAry = cookieStr.Split(';');
// foreach (string str in cookieAry)
// {
// MessageBox.Show(str);
// }
}
}
}