1
WebRequest
以降のサイトにログインして、WebBrowser
にサイトを表示します。WebBrowserでWebRequest Cookieを使用する
しかし、どのようにWebRequest
クッキーをWebBrowser
にコピーするのですか?クッキーをつかむために、事前に
おかげで、
カツペル
WebRequest
以降のサイトにログインして、WebBrowser
にサイトを表示します。WebBrowserでWebRequest Cookieを使用する
しかし、どのようにWebRequest
クッキーをWebBrowser
にコピーするのですか?クッキーをつかむために、事前に
おかげで、
カツペル
使用クッキーのコレクション、私は今月同様の書き込みに何かをしましたし、私はあなたにいくつかのサンプルコードを共有することができます:今、あなたの
static string GetFromServer(string URL, ref CookieCollection oCookie)
{
//first rquest
// Create a request for the URL.
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
request.AllowAutoRedirect = false;
// If required by the server, set the credentials.
//request.Credentials = CredentialCache.DefaultCredentials;
request.CookieContainer = new CookieContainer();
if (oCookie != null)
{
foreach (Cookie cook in oCookie)
{
request.CookieContainer.Add(cook);
}
}
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
foreach (Cookie cook in response.Cookies)
{
oCookie.Add(cook);
}
// Display the status.
while (response.StatusCode == HttpStatusCode.Found)
{
response.Close();
request = (HttpWebRequest)HttpWebRequest.Create(response.Headers["Location"]);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
request.AllowAutoRedirect = false;
request.CookieContainer = new CookieContainer();
if (oCookie != null)
{
foreach (Cookie cook in oCookie)
{
request.CookieContainer.Add(cook);
}
}
response = (HttpWebResponse)request.GetResponse();
foreach (Cookie cook in response.Cookies)
{
oCookie.Add(cook);
}
}
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
// Display the content.
Console.WriteLine(responseFromServer);
// Clean up the streams and the response.
reader.Close();
response.Close();
return responseFromServer;
}
をクッキーを取得した後、webBrowserコントロールに設定するだけで、このメソッドをインポートする必要があります。
とCookieを得た後、これを呼び出す:
string cookie_string = string.Empty;
foreach (Cookie cook in cookieCon)
{
cookie_string += cook.ToString() + ";";
InternetSetCookie(url, cook.Name, cook.Value);
}
webBrowser1.Navigate(url, "", null, "Cookie: " + cookie_string + Environment.NewLine);
これはちょうど私のテストコードであり、主に、それはバグだらけかもしれので、MSDNからコピーされた、あなたは
を扱うより多くの例外が必要な場合がありますことをご注意くださいなら、私はwininet.dllに依存していますか?それは様々なシステムやもので動作しますか? – Kacper
ええと、それは良い質問ですが、私はまだよく分かりませんが、それは私が実際にそれを作ることができることを発見したものです。WebrowserコントロールはInternet Explorerを使用しているようですので、方法は私に教えてください、ありがとう –