HttpWebRequest: Add Cookie to CookieContainer -> ArgumentException (Parametername: cookie.Domain)
我正在尝试通过我的应用程序登录网站。
我做了什么:
首先我弄清楚了浏览器如何使用 Fiddler 进行授权过程。
我检查了 POST 请求是如何构建的,并尝试重建它。
浏览器发送 4 个 cookie(谷歌分析),我尝试设置它们:
1 2 3 4 5 | CookieContainer gaCookies = new CookieContainer(); gaCookies.Add(new Cookie("__utma","#########.###########.##########.##########.##########.#")); gaCookies.Add(new Cookie("__utmb","#########.#.##.##########")); gaCookies.Add(new Cookie("__utmc","#########")); gaCookies.Add(new Cookie("__utmz","#########.##########.#.#.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)")); |
(只是用#替换了原来的cookie数据)
然后我用调试器检查了代码,一旦第一个 gaCookies.Add 被执行,应用程序就停止了一个
1 | System.ArgumentException: The parameter '{0}' cannot be an empty string. Parameter name: cookie.Domain |
我想知道为什么会这样。 Cookie的构造函数不需要域也不知道在哪里可以得到这个值?
如果有人能帮我解决这个问题,那就太好了。
我不是网络开发人员或网络专家,所以我不太了解它。
如果没有"简短而快速的答案",是否有一个很好的资源可以让我了解这一点?
1 |
获取域的一种简单方法是创建一个包含目标 URL 的
1 2 3 4 |