我正在尝试使用WebClient.DownloadData()
方法下载网站的源HTML。
我的方法应该给我源:
public string GetSite(string URL)
{
Uri Site = new Uri(URL);
byte[] lol = Client.DownloadData(Site);
SiteSource = Encoding.ASCII.GetString(lol);
return SiteSource;
}
我已经选择了TRIPLE,当我写下我发送此方法的URL参数的完全相同的网址时,我的程序会完全下载其他内容。
在firefox中按ctrl + U查看源代码,向我展示了我需要看到的内容(再次,简单的HTML ),但在我的软件中,我看到了完全不同的东西。
是什么给出了?
FOR CLARITY :
想象一下,在Firefox中您编写了www.google.com,在Firefox中查看源代码:
<html>
<head>
</head>
<body>
<h1>Hello!</h1>
</body>
</html>
但如果我使用{{1>}方法完全相同的网址,我的程序会下载这样的源代码:
DownloadData
答案 0 :(得分:4)
该网站可能正在进行浏览器检测,并根据其是否认为客户端是Firefox,IE,网络爬虫等提供不同的HTML。
答案 1 :(得分:0)
网站可能会使用在Firefox中设置的Cookie,User-Agent标头或其他HTTP标头来决定应该向您发送哪些内容。
由于您的C#程序发送的数据与Firefox不同,因此网站可能会发送不同的内容。