抓取HTML代码速度好慢啊~怎么处理?
网上的例子:
public string GetWebPageResponse(string uriArg)
{
System.IO.Stream responseStream = System.Net.WebRequest.Create(uriArg).GetResponse().GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(responseStream);
return reader.ReadToEnd();
}
private void button1_Click(object sender, EventArgs e)
{
new System.Threading.Thread(delegate()
{
string strHtml = GetWebPageResponse("http://www.baidu.com/");
// 后台执行部分
this.Invoke((EventHandler)delegate
{
richTextBox1.Text = strHtml;
// 操作UI部分
});
}).Start();
}
测试网站是百度
无论在店里还是家里。取得代码的时间都要20s左右。网速用chrome下载东西速度都有200kbs,是什么原因造成取代码速度这么慢?
[解决办法]
你应该先 GetRquest ,随便发点什么东西 --〉 你应该先 GetRquestStream() ,随便发点什么东西
实际上,就是你把它Close了(例如达到了Usin{}结构的最后),服务器结束等待提交数据,才会开始给你下载数据。
如果想简单点写,请实用 new WebClient().DownloadData(...) 或者 new WebClient().DownloadString(...)。这才是“一行”即成功的封装好的方法。