gpt4 book ai didi

带有空域的 HttpWebRequest cookie

转载 作者:行者123 更新时间:2023-12-03 13:35:08 27 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 操作,它通过 HttpWebRequest 将 GET 请求发送到另一台服务器。我想在新请求中包含原始操作请求中的所有 cookie。原始请求中的一些 System.Web.HttpCookies 具有空域值(即“”),这显然不会导致任何问题。当我使用每个这些 cookie 的名称、值、路径和域创建 System.Net.Cookie 并将其添加到请求的 CookieContainer 时,我收到此错误:

“System.ArgumentException:参数“{0}”不能为空字符串。参数名称:cookie.Domain”

下面是一些会抛出相同错误的代码(添加 cookie 时):

var request = (HttpWebRequest)WebRequest.Create("http://www.whatever.com");
request.Method = "GET";
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add ( new Cookie ( "MyCookieName", "MyCookieValue", "/", "") );

编辑

我通过对域使用“localhost”而不是原始 HttpCookie 中的 null 或空字符串值来解决这个问题。所以, 为什么空域不适用于 CookieContainer? HttpCookie 是否使用空值来表示本地主机,还是我需要为这个问题找到另一个解决方案?

最佳答案

不确定它是否能解决您的问题。但是要添加没有“域”属性的 cookie,您必须使用 HttpRequestHeader.Cookie 将 cookie 添加到标题中。如下。

request.Headers.Add(HttpRequestHeader.Cookie, "Your cookies...");

希望能帮助到你!

关于带有空域的 HttpWebRequest cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com