HttpWebRequest添加cookie异常

时间:2018-01-31 11:04:01

标签: c# .net cookies httpwebrequest

我尝试使用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.

知道这里有什么问题吗?

2 个答案:

答案 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