2017-12-27 1170 views
0

的HTML代碼,我試圖用得到網頁的HTML代碼,它的URL。我寫了下面的代碼,它的工作原理,但比較結果字符串,它不匹配我使用谷歌瀏覽器檢查時看到的代碼。我不是HTML gru,但它似乎有所不同。獲取網頁

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://fantasy.premierleague.com/a/leagues/standings/517292/classic"); 

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(response.CharacterSet)); 

string PageScript = stream.ReadToEnd(); 

得到的腳本如下:https://ideone.com/DXzfKy

我使用這兩條線來設置安全協議

ServicePointManager.Expect100Continue = true; 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

如果有人能告訴我,我到底在看什麼可能錯了,我將不勝感激。

+2

「它似乎是不同的。」以什麼方式? –

+0

你想要做的一件事就是將流置於'using'塊或類似的東西中。不過你必須在塊外聲明「PageScript」。 –

+0

@DStanley我不知道如何來形容壽,但是我正在尋找一個特定的塊,我可以在檢查代碼中看到的,但它在輸出字符串不會退出。我爲輸出字符串提供了一個鏈接,如果您可以使用該網址檢查代碼並親自查看。 –

回答

0

您只需創建一個WebClient的實例,並使用它可以從URI讀取數據,然後將其轉換爲StreamReader並最終以純文本格式進行轉換。

WebClient client = new WebClient(); 
Stream dataFromPage = client.OpenRead(new Uri("https://ideone.com/DXzfKy")); 
StreamReader reader = new StreamReader(dataFromPage); 
string htmlContent = reader.ReadToEnd();