无法从 url 获取 html 源

Posted

技术标签:

【中文标题】无法从 url 获取 html 源【英文标题】:unable to get html source from url 【发布时间】:2014-12-19 04:11:12 【问题描述】:

我已经阅读了我的问题的大部分答案。但我从这个网址一无所获。好吧,实际上我收到了" "

这是网址:

http://www.casadellibro.com/busqueda-generica?busqueda=9783126759120&nivel=5&auto=0&maxresultados=-1

我的代码:

System.Net.WebRequest req = System.Net.WebRequest.Create(url);
System.Net.WebResponse resp = req.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
string response = sr.ReadToEnd();

有什么想法吗?

提前谢谢你。

【问题讨论】:

查看How to Ask 了解如何组织您的问题并帮助我们回答您;) 【参考方案1】:

从网站获取 html 代码。你可以使用这样的代码。

string urlAddress = "http://google.com";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)

  Stream receiveStream = response.GetResponseStream();
  StreamReader readStream = null;
  if (response.CharacterSet == null)
    readStream = new StreamReader(receiveStream);
  else
    readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
  string data = readStream.ReadToEnd();
  response.Close();
  readStream.Close();

这将为您提供网站返回的 HTML 代码。但是通过 LINQ 查找文本并不是那么容易。也许使用正则表达式会更好,但它不能很好地与 HTML 代码配合使用

在此处阅读所有反应:Get HTML code from website in C#

【讨论】:

感谢您的快速回复。但我得到了同样的结果。数据 = " " 请求和响应都通过了好吗?调试的时候有没有报错? 是的,他们通过了。并且没有错误。 StatusCode = OK,StatusDescription = OK,ContentLength = 4

以上是关于无法从 url 获取 html 源的主要内容,如果未能解决你的问题,请参考以下文章

Java:无法从 URL 获取 html [重复]

从 python 调用 url 时获取“错误”页面源

如何从给定字符串中获取数组中所有源url的值

C# 从 Windows Media Player 获取当前歌曲源 url

如何从远程源(url)获取图像并在ImageView中显示?

如何从dragover事件中获取源节点