DownloadData() 生成与浏览器不同的 HTML

发布于 2024-08-08 20:42:01 字数 1015 浏览 4 评论 0原文

我正在尝试使用 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;                    
    }

我已经进行了三次检查,当我编写发送此方法的 URL 参数的完全相同的 url 时,我的程序会完全下载其他内容。

在 Firefox 中按 ctrl+U 查看源代码会显示我需要查看的内容(再次,简单的 HTML),但在我的软件中我看到了完全不同的东西。

什么给?

为了清晰

想象一下,您在 Firefox 中编写 www.google.com,在 Firefox 中查看源代码,您会看到:

<html>
   <head>
   </head>
   <body> 
       <h1>Hello!</h1>
   </body>
</html>

但是如果我使用 DownloadData 方法完全相同的 URL,我的程序将下载如下源代码:

<html>
   <head>
   </head>
   <body> 
       <h1>Bonjour!</h1>
   </body>
</html>

I'm trying to download the source HTML of a website using the WebClient.DownloadData() method.

My method is supposed to give me the source:

public string GetSite(string URL)
    {
        Uri Site = new Uri(URL);
        byte[] lol = Client.DownloadData(Site);
        SiteSource = Encoding.ASCII.GetString(lol);
        return SiteSource;                    
    }

I've TRIPLE checked and when I write the exact same url of the URL parameter I send this method, my programs downloads something else entirely.

Pressing ctrl+U in firefox to see the source code shows me what I need to see (again, simple HTML), but in my software I see something entirely different.

What gives?

FOR CLARITY:

Imagine in Firefox you write www.google.com, viewing the source in Firefox you see:

<html>
   <head>
   </head>
   <body> 
       <h1>Hello!</h1>
   </body>
</html>

But if I were to use the DownloadData method for the exact same URL, my program would download a source code like this:

<html>
   <head>
   </head>
   <body> 
       <h1>Bonjour!</h1>
   </body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见你 2024-08-15 20:42:01

该站点可能会进行浏览器检测,并根据它是否认为客户端是 Firefox、IE、网络爬虫等来提供不同的 HTML。

The site may be doing browser detection, and serving up different HTML depending on whether it perceives the client to be Firefox, IE, a Web crawler, etc.

栖竹 2024-08-15 20:42:01

该网站可能会使用 Firefox 中设置的 cookie、User-Agent 标头或其他 HTTP 标头来决定应向您发送哪些内容。

由于您的 C# 程序发送的数据与 Firefox 不同,因此该网站可能会发送不同的内容。

The site might use cookies that are set in Firefox, the User-Agent header or other HTTP headers to decide what content should be sent to you.

Since your C# program sends different data than Firefox the site might send different content.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文