2013-12-12 89 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

在我的機器上工作。您收到的錯誤是什麼 –