请高手指点: 用WebClient 模拟浏览器动作.

一休宗纯 2011-08-25 01:25:42

private void button4_Click(object sender, EventArgs e)
{

int tc = Environment.TickCount;
string sUrl = "http://www.baidu.com/";
//string sUrl = "http://www.tom.com/";
WebClient client = new WebClient();
string s = client.DownloadString(sUrl);
int tc2 = Environment.TickCount;

MessageBox.Show( (tc2-tc).ToString() );
}


我从浏览器访问 baidu 和 tom, 一样快.
但如果用 WebClient 访问,速度则差了一个数量级, tom 只有0.3秒,而 baidu则需要3.7秒.
我认为这是 baidu 网站的限制, 它发现的的访问是程序发出的,不是浏览器发出的.
问题是,如何能够更真实地模拟浏览器呢?
...全文
275 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一休宗纯 2011-08-26
  • 打赏
  • 举报
回复
百度确实采用了一些方法来防止采集。特别是每分钟发出成千上万的请求时。

现在没有找到什么好办法,不过还是谢谢你们。
一休宗纯 2011-08-25
  • 打赏
  • 举报
回复
谢谢指点,我继续研究中。
其实我是在WEB服务器上运行了一段采集程序。
Wakeupp 2011-08-25
  • 打赏
  • 举报
回复
= =!
完全网速问题....
施黛 2011-08-25
  • 打赏
  • 举报
回复
刚测了三遍下,用 WebClient 访问baidu 和 tom,我这边也是差了一个数量级,不过是访问百度快而tom相对要慢许多了。与网络也有关的吧!
一休宗纯 2011-08-25
  • 打赏
  • 举报
回复
补充一句,特别是对于 sUrl = "http://news.baidu.com/";
时,webClient速度更慢.
施黛 2011-08-25
  • 打赏
  • 举报
回复
不会,帮顶!

110,534

社区成员

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

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

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