HttpWebRequest跨域cookie的访问,Asp.net实例教程,Asp.net...

来源:百度文库 编辑:神马文学网 时间:2024/04/26 04:52:14
HttpWebRequest跨域cookie的访问
www.firnow.com    时间 : 2008-11-20  作者:佚名   编辑:辉辉 点击:  819 [ 评论 ]
-
-
综合 资源 电子书 社区   算算,有一个星期没写blog,自己最近也有些事情忙,而且也没找到很有价值的东西写,所以一直就拉着。最近工作上也没有 特别烦恼的事,所以也就少了些生活感慨。最近的一个小程序中,使用到HttpWebRequest,在对子域名访问的时候,发现HttpWebRequest并不会提交与他域名不同的cookie值,其实这也是正确,毕竟只需要发送本域cookie就是了,不过HttpWebRequest不会判断是否是主域名的cookie值。比如说主站  www.ABC.com 有个cookie值为 test : 123123 domain:ABC.com子站bbs.ABC.com 使用HttpWebRequest访问的时候,就算添加了test这个cookie,它也是不会发送的。Reflector .net的代码后发现,其添加cookie值的方法如下   if (httpWebRequest.CookieContainer != null)
        ...{
            string str;
            httpWebRequest.Headers.RemoveInternal("Cookie");
            string cookieHeader = httpWebRequest.CookieContainer.GetCookieHeader(httpWebRequest.Address, out str);
            if (cookieHeader.Length > 0)
            ...{
                httpWebRequest.Headers["Cookie"] = cookieHeader;
            }
       }
 
这里可以看出,是通过地址得到cookie的值的,所以bbs.ABC.com只会发送domain=bbs.ABC.com的cookie值。解决方法,强制把domian给改掉就可以了 
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/asp.net/asp_netshl/2007125/90621.html