网上的例子: 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,是什么原因造成取代码速度这么慢?

解决方案 »

  1.   

    request = (HttpWebRequest)WebRequest.Create(url);
                request.Proxy = null;//不使用代理
    我这里一秒不到,是不是你的IE使用了代理?
      

  2.   

    不要直接就 GetResponse()。你应该先 GetRquest ,随便发点什么东西(例如0个字节的数据),然后再获取其返回。
      

  3.   

    你应该先 GetRquest ,随便发点什么东西  --〉  你应该先 GetRquestStream() ,随便发点什么东西实际上,就是你把它Close了(例如达到了Usin{}结构的最后),服务器结束等待提交数据,才会开始给你下载数据。如果想简单点写,请实用 new WebClient().DownloadData(...) 或者 new WebClient().DownloadString(...)。这才是“一行”即成功的封装好的方法。