Tor*_*enJ 45 c# cookies webrequest httpwebrequest
我正在尝试通过我的应用程序登录网站.我做了什么:
首先,我弄清楚浏览器如何使用Fiddler执行授权过程.我检查了如何构建POST请求,并尝试重建它.浏览器发送4个Cookie(Google Analytics),我尝试设置它们:
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)"));
Run Code Online (Sandbox Code Playgroud)
(刚用#替换了原始的cookie数据)
然后我用调试器完成了代码,一旦第一个gaCookies.Add被执行,应用程序就停止了
System.ArgumentException: The parameter '{0}' cannot be an empty string. Parameter name: cookie.Domain
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会这样.Cookie的构造函数不需要域,我不知道在哪里可以得到这个值?
如果你们中的某个人可以帮助我,那将是非常好的.
我不是网络开发者或网络专家,所以我不太了解它.
如果没有"简短快速的答案",我是否可以从中获悉这一点?
Ich*_*lay 78
CookieContainers可以为不同的网站保存多个cookie,因此必须提供一个标签(域)来将每个cookie绑定到每个网站.在实例化各个cookie时可以设置域,如下所示:
Cookie chocolateChip = new Cookie("CookieName", "CookieValue") { Domain = "DomainName" };
Run Code Online (Sandbox Code Playgroud)
获取域名的一种简单方法Uri是使用包含目标URL 的(如果您还没有使用域名)并使用该Uri.Host属性设置cookie的域.
CookieContainer gaCookies = new CookieContainer();
Uri target = new Uri("http://www.google.com/");
gaCookies.Add(new Cookie("__utmc", "#########") { Domain = target.Host });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55281 次 |
| 最近记录: |