C#-HttpClient未发送任何cookie
我正在开发两个网站:www.web1.com和www.web2.com。 在web1中,我保存一个http cookie,如下所示C#-HttpClient未发送任何cookie,c#,asp.net,.net,cookies,httpclient,C#,Asp.net,.net,Cookies,Httpclient,我正在开发两个网站:www.web1.com和www.web2.com。 在web1中,我保存一个http cookie,如下所示 HttpCookie AuthCookie = new HttpCookie(AppConstants.Cookie.AUTH_COOKIE); AuthCookie.Path = "/"; AuthCookie.Value = "value1"; Response.Cookies.Add(AuthCookie); 现在我想在第二个网站,即web2上阅读这
HttpCookie AuthCookie = new HttpCookie(AppConstants.Cookie.AUTH_COOKIE);
AuthCookie.Path = "/";
AuthCookie.Value = "value1";
Response.Cookies.Add(AuthCookie);
现在我想在第二个网站,即web2上阅读这个cookie。我正在尝试使用HttpClient阅读它,如下所示
HttpClientHandler handler = new HttpClientHandler();
handler.CookieContainer = new CookieContainer();
HttpClient client = new HttpClient(handler);
response = client.GetAsync("http://www.web1.com").Result;
var cookies = cookies.GetCookies(new Uri("http://www.web1.com"));
这不会返回任何cookies,也会通过Fiddler进行检查。但如果我直接打开www.web1.com并检查fiddler,它就会发送cookie
请查看我缺少的内容,以便不会从httpclient返回cookie
谢谢,SB您无法获取或设置其他域的Cookie。这将是一个巨大的安全问题。(你想让我在我的网站上阅读你网站的cookies吗?) 一些相关职位: 更新:有一点需要澄清:作为服务器,您无法在另一个域的客户端上获取或设置cookie,这正是您想要做的。作为客户端,您可以修改/删除服务器为您设置的cookie
不确定这在您的情况下是否正常工作,但
AuthCookie.Domain=“IP/Domain”代码>应该为您完成这项工作
说了这么多,你可能会对其他域上的查询字符串和页面帖子感兴趣。谢谢,我理解你的观点,但我有点困惑,因为如果我将HttpClient请求发送到www.google.com,它会返回两个cookie,比如PID和HRef。那么Cookie中是否有某种允许发送回的设置?@SumitBakshi可能是因为这些是您服务器向google请求的Cookie。谢谢,现在我所有的Cookie都与localhost具有相同的域,但我仍然无法使用httpclient返回Cookie信息
页面发布和查询字符串不是选项,因为它会导致页面刷新或重定向,这对用户来说是个问题。请建议。