C# 如何在进行http请求调用时传递所有cookie?

C# 如何在进行http请求调用时传递所有cookie?,c#,cookies,httprequest,C#,Cookies,Httprequest,我正在对安全环境中的服务enpoint进行http请求调用,因此必须存在某些cookie,否则请求将失败 当用户登录到系统时,他们已经设置了所有必要的cookie 如何获取所有cookie并在http请求中传递它们 var request = (HttpWebRequest)WebRequest.Create(requestUrl); request.Method = "GET"; request.Timeout = 1000 * 30;

我正在对安全环境中的服务enpoint进行http请求调用,因此必须存在某些cookie,否则请求将失败

当用户登录到系统时,他们已经设置了所有必要的cookie

如何获取所有cookie并在http请求中传递它们

        var request = (HttpWebRequest)WebRequest.Create(requestUrl);
        request.Method = "GET";

        request.Timeout = 1000 * 30;
        request.ReadWriteTimeout = 1000 * 60;

        using (WebResponse webResponse = request.GetResponse())
        {
            using (Stream responseStream = webResponse.GetResponseStream())
            {
                if (responseStream == null)
                {
                }
                else
                {
                    using (var reader = new StreamReader(responseStream))
                    {
                        responseData = reader.ReadToEnd();
                    }
                }
            }
        }

        return responseData;

听起来像是在构建反向代理。CodeProject在如何实现这一点上有一篇很好的文章,其中包括将cookies从一个请求复制到另一个请求

请注意,您将只接收应用程序所在域的Cookie。如果您将请求代理到其他域,则发送请求的浏览器不会向您发送目标域的cookie

例如,如果您的应用位于,并且您正在将请求转发给,则您的请求中将不会包含任何stackoverflow.com域的Cookie