Cookies NET 4.5 HttpClient仍发送cookie(尽管域已更改)

Cookies NET 4.5 HttpClient仍发送cookie(尽管域已更改),cookies,dns,httpclient,handler,cookiecontainer,Cookies,Dns,Httpclient,Handler,Cookiecontainer,我已经在C中创建了一个HttpClient# 处理程序是这样的 var handler = new HttpClientHandler { CookieContainer = CookieContainer, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; 我在一个网站上发送了一些请求,比

我已经在C中创建了一个HttpClient#

处理程序是这样的

   var handler = new HttpClientHandler
        {
            CookieContainer = CookieContainer,
            AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
        };
我在一个网站上发送了一些请求,比如说xyzevents.com。我通常会收到回复,我会存储从“Set Cookie:*”命令收到的一些Cookie,一切正常

但是,在此之后,我尝试与网站xyz.com进行通信。为此,我必须使用之前从xyzevents.com存储的cookies发送请求。HttpClient不能这样做,因为它看到主机与xyzevents.com不同


有没有办法绕过这项检查,毫无问题地发送我的请求?

我认为根本没有办法“禁用”这项检查。我认为是
HttpClient
最终决定了应该发送哪些cookie,而不是容器。最后,在任何地方发送随机cookie都可能带来很大的安全风险


这样,您就可以轻松地遍历从
xyz.com
接收到的所有cookie,手动创建这些cookie,域已更改,但值相同。然后将它们添加到一个新的集合中,该集合被发送到
xyzevents.com

我想不出一种方法来编辑我收到的cookies。尤其是现在,这个客户端是在受保护的请求基类中创建的。@PanosPaschalis您不会“编辑”它们。您只需循环第一个容器中的cookie,然后从该cookie中获取值,并使用正确的域名创建一个新cookie,然后将其添加到第二个容器中。然后将第二个容器分配给处理程序。是的,在代码执行期间,我似乎无法访问cookiecontainer,我只能访问HttpClient(客户端)。
   var handler = new HttpClientHandler
        {
            CookieContainer = CookieContainer,
            AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
        };