Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-HttpClient未发送任何cookie_C#_Asp.net_.net_Cookies_Httpclient - Fatal编程技术网

C#-HttpClient未发送任何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上阅读这

我正在开发两个网站: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上阅读这个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

  • 在您的示例中,您的服务器端代码正在向web1.com发出请求。您不会为随机客户端获得cookie。客户机根本不参与上面的代码

  • 如果我访问web1.com,您将一个名为“username”的cookie设置为值“bob”,那么作为客户,我可以修改此cookie,使其值为“admin”,然后根据您处理cookie的方式,对您的站点具有管理员权限


  • 不确定这在您的情况下是否正常工作,但
    AuthCookie.Domain=“IP/Domain”应该为您完成这项工作


    说了这么多,你可能会对其他域上的查询字符串和页面帖子感兴趣。

    谢谢,我理解你的观点,但我有点困惑,因为如果我将HttpClient请求发送到www.google.com,它会返回两个cookie,比如PID和HRef。那么Cookie中是否有某种允许发送回的设置?@SumitBakshi可能是因为这些是您服务器向google请求的Cookie。谢谢,现在我所有的Cookie都与localhost具有相同的域,但我仍然无法使用httpclient返回Cookie信息
    页面发布和查询字符串不是选项,因为它会导致页面刷新或重定向,这对用户来说是个问题。请建议。