2017-04-22 25 views
0

我需要從站點獲取html。我通常使用WebClient.DownloadString(string)。但在回答我得到的html html頁面是這樣的:如何繞過鎖定並從站點C獲取html#

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">   
    </head> 
    <body> 
     <div align="center"><h3>Access is blocked by site administrator [27]</h3></div> 
    </body> 
</html> 

這是我的代碼:

var url = "http://site.ru";  
var client = new WebClient {Encoding = Encoding.GetEncoding("windows-1251")}; 
var resultHtml = client.DownloadString(url); 

我嘗試使用HttpClient().GetStringAsync(new Uri(url)),但結果是相同的。

對不起,我的英語。並感謝您的答案。

+0

您是否能夠在瀏覽器中打開該網站? –

+0

我的IP未被阻止。我可以在瀏覽器中打開這個網站。 –

+0

是哪個網站? –

回答

3

它看起來像該網站預計User-Agent請求標頭。因此,您可以這樣設置,以誘使網站認爲請求來自瀏覽器:

client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36";