我尝试使用Cookie创建HttpWebRequest
:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://myweb.com/get_my_web/");
req.Method = "POST";
if (req.CookieContainer == null)
{
req.CookieContainer = new CookieContainer();
}
System.Net.Cookie newCookie = new System.Net.Cookie("sessionid", AppData.sessionid,
"\\", "myweb.com");
req.CookieContainer.Add(newCookie);
在req.CookieContainer.Add(newCookie);
我得到此例外:
An unhandled exception of type 'System.Net.CookieException' occurred in System.dll
Additional information: The 'Domain'='myweb.com' part of the cookie is invalid.
知道这里有什么问题吗?
答案 0 :(得分:1)
错误消息具有误导性 - 问题出在cookie路径而不是域。 "\\"
是无效路径,我认为您的意思是/
:
System.Net.Cookie newCookie = new System.Net.Cookie("sessionid", AppData.sessionid,
"/", "myweb.com");
答案 1 :(得分:0)
您可以尝试使用创建Uri
并添加req.CookieContainer
即可解决此问题。
req.CookieContainer.Add(new Uri("https://tw.yahoo.com"), new Cookie("sessionid", AppData.sessionid,@"/"));
Cookie的域名
获取或设置cookie有效的统一资源标识符(URI)的域。
你可以看到 MSDN Cookie