问题是这样的:
httpWebRequest获取一个地址如:www.xx.com,同时设置了一个ref CookieContainer供设置和接收Cookie,
正常网页请求时服务器会设置xx.com域下的Cookie,httpWebRequest里的Cookie没法获取xx.com域下的Cookie。
需要如何设置,求高手帮帮忙。
httpWebRequest获取一个地址如:www.xx.com,同时设置了一个ref CookieContainer供设置和接收Cookie,
正常网页请求时服务器会设置xx.com域下的Cookie,httpWebRequest里的Cookie没法获取xx.com域下的Cookie。
需要如何设置,求高手帮帮忙。
解决方案 »
- 这样操作ExecuteReader 对吗
- c# WMS RP手持拣货
- 获取版本
- 急!!!存储过程调用问题 c# 过程需要参数'@parameters'为'ntext/nchar/nvarchar'高手请进来!
- 前台javascript改变dropdownlist控件的选中项时,为何不能引发该控件的change事件自动回发呢?
- 如何不用XML来实现树型结构的存取
- 字符串变量中,怎样去掉前n行的字符,只留下后面的?
- 一个.Sort()排序的方法的调用问题?
- datagrid的问题
- 64位/vs2017/C#/emgucv 大内存申请
- 求助,如何用代码将大文件压缩并分为小块
- 当捕获的异常类型未知时,有没有办法抛出同类型异常
CookieContainer cookieContainer = new CookieContainer();
req.CookieContainer = cookieContainer
HttpWebRequest request = null;
HttpWebResponse response = null;
request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Headers = header;
request.AllowWriteStreamBuffering = false;
request.CookieContainer = cc;
request.Accept = "*/*";
request.Headers.Add("p3p", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
request.UserAgent = userAgent;
request.KeepAlive = true;
request.AllowAutoRedirect = true;
request.ContentLength = postData.Length;
request.ContentType = "application/x-www-form-urlencoded"; if (!string.IsNullOrEmpty(refUrl))
{
request.Referer = refUrl;
}
if (isPost)
{
request.Method = "POST";
byte[] finalPostData = encoding.GetBytes(postData);
Stream newStream = request.GetRequestStream();
newStream.Write(finalPostData, 0, finalPostData.Length);
newStream.Close();
}
else
{
request.Method = "GET";
}
response = (HttpWebResponse)request.GetResponse();
foreach (Cookie cookie in response.Cookies)
{
cc.Add(cookie);
}
//按理说这里应该可以获得其它域下的Cookie,但是我得到的只有当前请求域下的Cookie,顶级域下的没法获得,还有我设置了P3P head也得不到
return response.GetResponseStream();
使用socket发起http请求,自行解析header分析cookie补充一下:httpwebrequest在很多场合都满足不了需求,socket才是王道。