[英]How to pass all cookies when making http request call?
我正在安全环境中对服务进行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;
您听起来好像正在构建反向代理。 Code Project在如何完成此http://www.codeproject.com/Articles/18490/Reverse-Proxy-in-C-NET-v2-0中有一篇不错的文章,其中包括将cookie从一个请求复制到另一个请求。
请注意,您将仅收到托管您应用程序的域的cookie。 如果您将请求代理到其他域,则发送请求的浏览器将不会向您发送针对您所针对的域的cookie。
例如,如果您的应用程序位于http://dev.local/,并且您将请求转发到https://stackoverflow.com/,则您的请求中将没有域stackoverflow.com的任何cookie。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.