我如何获得页面的HTML?

时间:2013-12-12 05:30:04

标签: c#

以下是我用来执行网络请求的代码。我收到的所有HTML除了URL中的评论部分。

HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(
  "http://u-handbag.typepad.com/uhandblog/2013/11/choosing-bag-fabrics.html#comment-6a00d8341c574653ef019b022fc96f970d"
);
StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream());
htl = reader.ReadToEnd();

任何人都可以解释原因吗?

2 个答案:

答案 0 :(得分:1)

使用此代码块。变量结果应该有html代码。

 System.Net.WebClient webClient = new System.Net.WebClient();
 string result = webClient.DownloadString(URL);

答案 1 :(得分:1)

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

string urlAddress = "http://u-handbag.typepad.com/uhandblog/2013/11/choosing-bag-fabrics.html#comment-6a00d8341c574653ef019b022fc96f970d";

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();
}

或更好地使用WebClient

        using System.Net;
        using (WebClient client = new WebClient())
        {
            string htmlCode = client.DownloadString("http://u-handbag.typepad.com/uhandblog/2013/11/choosing-bag-fabrics.html#comment-6a00d8341c574653ef019b022fc96f970d");
        }