在我本地的网页上用HttpWebReqest链接百度网页是否跨域?

郑春宏 2012-09-02 01:23:26
在我本地的网页上用HttpWebReqest链接百度得到的cookie是这样的cookie:
BAIDUID 74AB5489B9041113F28D098066827C8B:FG=1 / .baidu.com Sun, 02-Sep-42 05:23:40 GMT
但是直接用IE打开百度首页的时候得到的是这样的cookie:
BAIDUID:3D80F50134E76A7C420D1D19265A7EC4:FG=1
BDUSS:9NeH5JbEYyOXBxWnByaFRvMzI0amhSTDZNM3BnekQwT0Ric09SUGlYa2traTlSQVFBQUFBJCQAAAAAAAAAAAokNxCEjQgQam15eWtqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYIArMAAAAOAK5n0AAAAAmWdCAAAAAAAxMC4zNi4xNCREQlAkREJQbE
BDUT:v5ao08ECB72243AD3F2F5D2CCF4CF29A7DFC1397ba20c962
下面是我的源代码:
private void LinkBaiDu()
{
string url = "http://www.baidu.com ";
string strResult = "";
System.Net.HttpWebRequest myHttpRequest = (HttpWebRequest)WebRequest.Create(url);
System.Net.HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpRequest.GetResponse();
Stream ReceiveStream = myHttpWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.Default;

StreamReader sr = new StreamReader(ReceiveStream, encode);
Char[] read = new Char[256];
int count = sr.Read(read, 0, 256);
while (count > 0)
{
String str = new String(read, 0, count);
strResult += str;
count = sr.Read(read, 0, 256);
}
}
问题:这个是不是跨域的原因,还是其他原因,有没有其他解决办法,急急急急急急急!!!!!
...全文
447 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
springe 2012-09-10
  • 打赏
  • 举报
回复
这个帖子,沉了吗?
springe 2012-09-03
  • 打赏
  • 举报
回复
同问,顶上
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
CNZZDATA3614737这个Cookie的值是不是有什么特殊意义的呢?求解。。。。。。
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
你用webrequest打开百度和用ie打开是两次会话。当然会不一样了。百度的个性化跟踪很厉害的。
再说,你在服务端去请求百度,这个跨域不跨域没有半毛钱关系。跨域指的是客户端的js不能跨不同的域互相调用。比如你iframe了一个百度的网页,你的网页不可能去用js调用它的哪怕是最简单的一个js方法。
[/Quote]
嗯,对啊,因为我是新手,没有接触过这方面的东西。
刚刚自己做了一个网站挂在服务器上,然后用本地网页链接那个网站,发现:ASP.NET_SessionId和其他的Cookie值都可以取到,就是CNZZDATA3614737这个Cookie的值取不到,请问,这是为什么呢?
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
你用webrequest打开百度和用ie打开是两次会话。当然会不一样了。百度的个性化跟踪很厉害的。
再说,你在服务端去请求百度,这个跨域不跨域没有半毛钱关系。跨域指的是客户端的js不能跨不同的域互相调用。比如你iframe了一个百度的网页,你的网页不可能去用js调用它的哪怕是最简单的一个js方法。
[/Quote]
嗯,对啊,因为我是新手,没有接触过这方面的东西。
刚刚自己做了一个网站挂在服务器上,然后用本地网页链接那个网站,发现:ASP.NET_SessionId和其他的Cookie值都可以取到,就是CNZZDATA3614737这个Cookie的值取不到,请问,这是为什么呢?
bwangel 2012-09-02
  • 打赏
  • 举报
回复
你用webrequest打开百度和用ie打开是两次会话。当然会不一样了。百度的个性化跟踪很厉害的。
再说,你在服务端去请求百度,这个跨域不跨域没有半毛钱关系。跨域指的是客户端的js不能跨不同的域互相调用。比如你iframe了一个百度的网页,你的网页不可能去用js调用它的哪怕是最简单的一个js方法。
springe 2012-09-02
  • 打赏
  • 举报
回复
我也遇到这样的问题,帮忙顶下
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
每一个进程访问同一网站时,网站都会为其写入cookie。就算你是使用同一个程序,以两次(或者两个进程)运行,cookie值也是可以不一样的。这有什么关系呢?

我不知道你要“解决”什么问题?!
[/Quote]
我的意思是:为什么用HttpWebReqest访问百度和直接用ie访问得到的Cookie数量不一样的呢?是数量呀
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
每一个进程访问同一网站时,网站都会为其写入cookie。就算你是使用同一个程序,以两次(或者两个进程)运行,cookie值也是可以不一样的。这有什么关系呢?

我不知道你要“解决”什么问题?!
[/Quote]大神呀,有什么解决办法呢??
郑春宏 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
本地的网页上?

asp.net代码从来也不是运行在网页上的。

另外asp.net代码有什么跨域问题?
[/Quote]
呵呵,好像您对这方面比较熟悉,很多地方都看到您,我都不知道这个是什么问题了,为什么我用HttpWebReqest和直接用IE访问百度,得到的是不同的Cookie呢?
  • 打赏
  • 举报
回复
每一个进程访问同一网站时,网站都会为其写入cookie。就算你是使用同一个程序,以两次(或者两个进程)运行,cookie值也是可以不一样的。这有什么关系呢?

我不知道你要“解决”什么问题?!
  • 打赏
  • 举报
回复
本地的网页上?

asp.net代码从来也不是运行在网页上的。

另外asp.net代码有什么跨域问题?

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧