HttpWebRequest和ie直接发请求比较速度差了很多,是什么原因?

yongyinmg 2012-03-31 07:15:36
HttpWebRequest用来测试某网页的速度是500多毫秒,而IE速度很快只有不到100毫秒,如何才能提高HttpWebRequest的响应速度?
...全文
367 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
蔡袅 2012-04-02
  • 打赏
  • 举报
回复
纯粹的代码怎么能跟纯粹的浏览器比呢?
孟子E章 2012-04-01
  • 打赏
  • 举报
回复
要对比完全下载完毕的html代码,而不是看 浏览器显示了东西就说明浏览器下载完了
startstartsvip 2012-04-01
  • 打赏
  • 举报
回复
你的 IE 100 毫秒 怎么来的?是得到响应还是数据全部读出来?


要比也都有个标准吧

yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
webclient也是对httpwebrequest的封装吧
honkerhero 2012-04-01
  • 打赏
  • 举报
回复
是不是可以用webclient试试?
yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
都放假了?
yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
高手来帮帮忙
yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你的是.NET 4吧?你需要加
request.Proxy = null;
这个属性
[/Quote]
设置了,还是500多毫秒

HttpWebRequest req = HttpWebRequest.Create(url) as HttpWebRequest;//创建一个httpRequest请求对象,包含要传递的值name
if (req == null)
return "";
req.Method = "GET";
req.KeepAlive = true;
req.Proxy = null;
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
//Stream stream = resp.GetResponseStream();
////System.Drawing.Image imgSource = System.Drawing.Image.FromStream(stream);
//StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.UTF8);
//string strOut = streamReader.ReadToEnd();
//if (strOut != null && strOut.Contains("Value cannot be null"))
//{

//}
//Console.WriteLine(resp.StatusDescription.ToString());
//Console.WriteLine((int)resp.StatusCode);
//Console.WriteLine(strOut);
//stream.Close();
resp.Close();

  • 打赏
  • 举报
回复
看你这实在说不出“如何测试”的劲儿,这个问题只能流产。
  • 打赏
  • 举报
回复
看不懂你是如何测试的!

基本上所有互联网访问都要经过ie核心,而ie浏览器也要经过ie核心去访问互联网。关键是它们显示的所谓“速度”谁知道是取得那一段?你能保证它们都是用同一个指标吗?

例如一个家庭主妇去买羊肉,跟一个饭店厨师子去买羊肉,都要经过“掏钱付款”的过程。可是主妇是把自己进入菜市场直到离开菜市场的时间都叫做花钱时间,而厨师是把钱从手里递给对方的那几秒钟时间叫做花钱时间,根本不是一回事。
边城的刀声 2012-04-01
  • 打赏
  • 举报
回复
楼主直接用socket请求试试
边城的刀声 2012-04-01
  • 打赏
  • 举报
回复
HttpWebRequest是经过层层封装后得到的东西
IE应该是直接调用系统底层的方法,所以会比较快
huwei001982 2012-04-01
  • 打赏
  • 举报
回复
Httpwebrequest 的速度应该比IE快才对, 它不用渲染
yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
没有压缩就是普通的get语句
mirmuo 2012-04-01
  • 打赏
  • 举报
回复
看看服务器是否支持压缩,如果服务器支持压缩可能是因为IE接收的是压缩数据,你的程序时接收未压缩数据,所以比IE慢。
yongyinmg 2012-04-01
  • 打赏
  • 举报
回复
这个网页就是一个json串,多线程也起不到作用啊
yuzan0123 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
ie是多线程下载的,速度当然快。
[/Quote]

+
dalmeeme 2012-04-01
  • 打赏
  • 举报
回复
ie是多线程下载的,速度当然快。
dalmeeme 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你的是.NET 4吧?你需要加
request.Proxy = null;
这个属性
[/Quote]
学习。
孟子E章 2012-03-31
  • 打赏
  • 举报
回复
你的是.NET 4吧?你需要加
request.Proxy = null;
这个属性

111,126

社区成员

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

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

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