我想获取此页面的源代码例如:
我使用了Webclient(DownloadString和DownloadFile)或HttpWebRequest。但是,我总是返回一个空字符串(代码源)。
使用firefox,Edge或其他浏览器,我可以毫无问题地获得代码源。
如何获取给定例子的源代码。
这是我使用的许多代码的代码:
Using client = New WebClient()
client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; rv:40.0) Gecko/20100101 Firefox/40.0")
Dim MyURL As String = "https://www.virustotal.com/fr/file/c65ce5ab02b69358d07b56434527d3292ea2cb12357047e6a396a5b27d9ef680/analysis/"
Dim Source_Code As String = client.DownloadString(MyURL)
MsgBox(Source_Code)
textbox1.text = Source_Code
End Using
注意2:Webclient适用于所有其他网站。
注意1:我不喜欢使用Webbrowser或这样的控件。
答案 0 :(得分:1)
目标服务器似乎很挑剔,需要Accept-Language
标头才能返回任何内容。以下代码返回页面内容:
var url="https://www.virustotal.com/fr/file/c65ce5ab02b69358d07b56434527d3292ea2cb12357047e6a396a5b27d9ef680/analysis/";
var client=new System.Net.WebClient();
client.Headers.Add("Accept-Language","en");
var content=client.DownloadString(url);
如果缺少Accept-Language
标头,则不会返回任何数据。
要找到这个,您可以使用像Fiddler这样的工具来捕获来自浏览器和应用程序的HTTP请求和响应。通过逐个删除浏览器发送的标头,您可以找到服务器实际需要的标头。