2013-12-12 58 views
2

以下是我用来执行Web请求的代码。除了URL中的评论部分外,我将获得所有HTML。我如何获取页面的html?

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

任何人都可以解释为什么吗?

+0

我真的不知道要诚实,但不会的JavaScript修改输出。也许这就是为什么你有不同的数据。 – SchautDollar

回答

1

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

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

我这样做,但失败了... – user3089799

+0

我试过我发布的代码。它在我的机器中工作。我收到了包括评论部分在内的所有内容。确保你的网址真的指向某个东西。请检查您的网址。 –

+0

亲爱的一切正确我认为url的注释部分加载形式ajax或可能是jquery和我的请求获得ajaxx/jquery请求之前的html ....任何方式来获得后,ajax/jquery请求的HTML? – user3089799

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"); 
     } 
+1

刚果兄弟+ 2k。 –

+0

亲爱的我申请这段代码,但没有得到(评论部分(在上面的url)).......... – user3089799

+0

在我的机器上工作。您收到的错误是什么 –