C# HttpWebRequest获取cookie的问题

CookieContainercc=newCookieContainer();HttpWebRequestreq=WebRequest.Create("http://ww... CookieContainer cc = new CookieContainer();
HttpWebRequest req = WebRequest.Create("http://www.baidu.com/") as HttpWebRequest; req.CookieContainer = cc;
req.Method = "GET";

HttpWebResponse res = req.GetResponse() as HttpWebResponse;

//res.Cookies = req.CookieContainer.GetCookies(new Uri(http://www.baidu.com));

string t = ""; foreach (Cookie c in res.Cookies)
{
t += c.Name + " :" + c.Value + "\n";
}
MessageBox.Show(t);

请问为什么别人都是这样获取的:
res.Cookies = req.CookieContainer.GetCookies(new Uri(http://www.baidu.com));

就算不写这句,res.Cookies也有cookie数据啊,而且跟上面获取到的一样。
展开
 我来答
卷人2f
2013-04-13 · TA获得超过1352个赞
知道小有建树答主
回答量:1044
采纳率:50%
帮助的人:727万
展开全部
CookieContainer.GetCookies(Uri uri)
返回值一个 HTTP Cookie 标头,其中包含表示由分号分隔的 Cookie 实例的字符串。
所以一般都这样写,不用再写循环了。写个循环就多此一举了,完全可以省掉 。
直接用string类型的变量接收就好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enuosky
推荐于2016-07-02 · 超过29用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:79.9万
展开全部
//res.Cookies = req.CookieContainer.GetCookies(new Uri(http://www.baidu.com));

别人写这句的目的不是为了获取cookie,而是把从request里得来的值赋给了response。他可能是为了想写cookies。如果仅是获取cookie值,这一句是没意义的。从你贴的整段代码来看,也没有再写一次cookies的必要,从request里获取了cookies,没有改变,又给了response, 再写回客户端,完全没必要。

简单来说,就是通过request来获取cookie,response写cookie
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuguo1987524
2013-04-12 · 超过16用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:50.7万
展开全部
别人那个是你的方法的简写而已
追问
请问下是什么简写
res.Cookies = req.CookieContainer.GetCookies(new Uri(http://www.baidu.com));
这句可以不用写是吗?

还是说什么情况下,写不写有什么区别?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式