HttpWebRequest和ie直接发请求比较速度差了很多,是什么原因? HttpWebRequest用来测试某网页的速度是500多毫秒,而IE速度很快只有不到100毫秒,如何才能提高HttpWebRequest的响应速度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的是.NET 4吧?你需要加request.Proxy = null;这个属性 设置了,还是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(); webclient也是对httpwebrequest的封装吧 要对比完全下载完毕的html代码,而不是看 浏览器显示了东西就说明浏览器下载完了 这个网页就是一个json串,多线程也起不到作用啊 看看服务器是否支持压缩,如果服务器支持压缩可能是因为IE接收的是压缩数据,你的程序时接收未压缩数据,所以比IE慢。 Httpwebrequest 的速度应该比IE快才对, 它不用渲染 HttpWebRequest是经过层层封装后得到的东西IE应该是直接调用系统底层的方法,所以会比较快 看不懂你是如何测试的!基本上所有互联网访问都要经过ie核心,而ie浏览器也要经过ie核心去访问互联网。关键是它们显示的所谓“速度”谁知道是取得那一段?你能保证它们都是用同一个指标吗?例如一个家庭主妇去买羊肉,跟一个饭店厨师子去买羊肉,都要经过“掏钱付款”的过程。可是主妇是把自己进入菜市场直到离开菜市场的时间都叫做花钱时间,而厨师是把钱从手里递给对方的那几秒钟时间叫做花钱时间,根本不是一回事。 sql in 在线等,递归算法 封装的问题 逻辑题 将数据导出为excel时,对于文本字符,就要前面加上单引号,但是如果让这个单引号在excel中不显示呢? 2个线程可以同时Append同一个文本文件吗? C#连结数据库报错 关于googleearth的二次打开 模拟鼠标事件自动拖动,疑问? 用C#做搜索引擎的蜘蛛程序???? c# 使用OleDb读取csv,数值都取整数了,求解决 分割字符串 如何在FORM2中设置FORM1中控件的参数
request.Proxy = null;
这个属性
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应该是直接调用系统底层的方法,所以会比较快