1

有人可以解释一下会发生什么吗?

温我用这个 url 代码在我的一个里面工作 Label1 post remote page

string url = "http://ireland.angloinfo.com/";

但是这个不是 Label1 空的

string url = "http://cyprus.angloinfo.com/";

string html = string.Empty;
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream());
html = myStreamReader.ReadToEnd();

Label1.Text = html;

什么地方出了错 ?

4

3 回答 3

4

在收到响应之前添加以下内容:

    HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
    myHttpWebRequest.UserAgent = "Mozilla/5.0";

您的代码是正确的,但似乎网络服务器对User-Agent请求标头中未指定字段的请求返回空响应。

于 2012-09-01T22:21:16.330 回答
2

我刚刚检查过,您的代码返回一个 myhttpWebResponse,Status = "OK" 和 ContentLenght = 0,所以一切正常 - 它只是返回 no-data-at-all 的服务器。问题是,为什么。也许您没有添加一些它需要的标题?

我刚刚尝试过设置:

string url = "http://cyprus.angloinfo.com/";

string html = string.Empty;
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
myHttpWebRequest.UserAgent = "yummy";
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream());
html = myStreamReader.ReadToEnd();

Label1.Text = html;

并且页面似乎可以正确下载。顺便提一句。你为什么不使用WebClient类呢?在会话和重定向的情况下你会遇到更少的问题..

于 2012-09-01T22:25:08.230 回答
1

这段代码怎么样:

 List<string> lines = new List<string>();
 StreamReader reader = new StreamReader(WebRequest.Create("http://cyprus.angloinfo.com/").GetResponse().GetResponseStream());
  string line;
  while ((line = reader.ReadLine()) != null)
  {
      lines.Add(line);
  }
  label1.Text = String.Join(" ", lines.ToArray());
于 2012-09-01T22:15:56.350 回答