有些机构可以解释一下会发生什么吗?
我使用这个url代码正在使用Label1发布远程页面里面的一个
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;
出了什么问题?
答案 0 :(得分:4)
在收到回复之前添加以下内容:
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
myHttpWebRequest.UserAgent = "Mozilla/5.0";
您的代码是正确的,但似乎网络服务器对请求标头中未指定User-Agent
字段的请求返回空响应。
答案 1 :(得分:2)
我刚检查过,你的代码返回一个myhttpWebResponse,状态=“OK”,ContentLenght = 0,所以一切都很好 - 它只是服务器返回无数据。问题是,为什么。也许你没有添加一些它们所需的标题?
我刚试过设置:
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;
,该页面似乎正确下载。 BTW。为什么不使用WebClient
课呢?在会话和重定向的情况下,您遇到的问题会更少。
答案 2 :(得分: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());