在我的 C# 应用程序中,我正在使用 HTTPWebrequest 等浏览网站。在某个时候,我想在 WebBrowser 控件中显示网站。
当前的 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"));
IntersetSetCookie 函数引发异常,因为 URL 格式“ http://ab.cde.de ”无效。当我尝试“ http://www.cde.de ”或“ http://www.ab.cde.de ”时,我没有收到异常,但网站无法正确加载,因为浏览器只发送其中一个请求中有五个 cookie,我不知道为什么。
你知道我该如何解决这个问题吗?