私の C# アプリケーションでは、HTTPWebrequest などを使用して Web サイトをナビゲートしています。特定の時点で WebBrowser コントロールに Web サイトを表示したいと考えています。
現在の Cookie は CookieContainer に保存されます。
次のコードは完璧に機能します。すべての Cookie はブラウザによってリクエストで送信されました。
CookieCollection cookies = ck.GetCookies(new Uri("http://www.abcde.de"));
foreach (Cookie c in cookies) {
if (!InternetSetCookie("http://www.abcde.de", c.Name, c.Value))
throw new Exception("Exception setting cookie: Win32 Error code="
+ Marshal.GetLastWin32Error());
}
/** Setting header_infos, POST-Data etc **/
webBrowser1.Navigate(link, "_self", parameterbyte, header_infos.ToString());
しかし、次のようなサブドメインからCookieを取得すると
CookieCollection cookies = ck.GetCookies(new Uri("http://ab.cde.de"));
URL 形式 " http://ab.cde.de " が有効でないため、IntersetSetCookie 関数は例外をスローします。「 http://www.cde.de」または「http://www.ab.cde.de 」を代わりに試してみると、例外は発生しませんが、ブラウザーは次のいずれかのみを送信するため、Web サイトは正しく読み込まれません。リクエストに 5 つの Cookie が含まれていますが、その理由はわかりません。
どうすればこれを修正できるか分かりますか?