HttpWebRequest跨域cookie的访问
来源:互联网 发布:批量处理图片的软件 编辑:程序博客网 时间:2024/04/29 02:14
算算,有一个星期没写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;
}
}
...{
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给改掉就可以了
- HttpWebRequest跨域cookie的访问
- HttpWebRequest跨域cookie的访问
- VB.net使用httpWebRequest访问带cookie的网站时如何传递cookie值
- HttpWebRequest Cookie
- 将WebBrowser的cookie信息传给HttpWebRequest
- HttpWebRequest Cookie Bug 解决之道
- HttpWebRequest、HttpWebResponse保存Cookie
- C# HttpWebRequest获取cookie
- c#HttpWebRequest修改cookie
- 将WebBrowser的cookie信息传给HttpWebRequest.
- 使用HttpWebRequest 首先要获得浏览器的Cookie
- 使用HttpWebRequest访问需要登录的网站-另一种途径
- 使用C#的HttpWebRequest模拟登陆访问人人网
- 使用C#的HttpWebRequest模拟登陆访问人人网
- 使用C#的HttpWebRequest模拟登陆访问人人网
- C# HttpWebRequest人异步访问
- .Net HttpWebRequest 方式 访问服务器
- 修复.NET中通过HttpWebRequest 中GET 方法丢失Cookie的bug
- dataGridView分页显示
- Delphi中使用汇编(关于POS函数的问题)
- mysql 查一段时间的小例子
- Apache Tiles
- 生活健康小贴示(连载中)
- HttpWebRequest跨域cookie的访问
- 佣兵天下最新章节
- 如何才能修改程序的默认安装路径
- Oracle exp/imp导出导入命令及数据库备份
- linux 常用命令
- 用 One-JAR 简化应用程序交付-用定制类装入器促进编程
- 什么是SOP
- 在路上-基于SCA规范的应用服务框架成长记(三)
- 中国中铁或67万元中一签