检查网址是否指向文件或页面

本文关键字:文件 是否 检查 | 更新日期: 2023-09-27 18:31:31

我们需要以下内容:

如果文件实际上是文件,请从 URL 下载文件。否则,如果它是一个页面,则不执行任何操作。

对于一个快速示例,我有以下内容来下载文件:

 My.Computer.Network.DownloadFile(
"http://www.wired.com/wiredenterprise/wp-content/uploads/2013/07/ff_googleinfrastructure_large.jpg",
"d:'ff_googleinfrastructure_large.jpg")

但是,如果我们有一个普通的网页,例如"http://www.google.com",它只会下载我们不想要的页面。

那么我如何知道 URL 是否会导致文件而不是页面?

它可以是任何类型的文件,因此请检查 URL 是否以 .zip 或 .jpg 或.docx结尾或...根本不行。

VB.NET 或 C# 中的答案都是受欢迎的,这就是我标记两者的原因。

检查网址是否指向文件或页面

提前,没有 100% 准确的方法。 您可以检查扩展(假设有一个),但即使这样也不是 100% 万无一失的。

您可以发出请求并检查content-type标头,如果值为 text/html 或某些text MIME 变体,则可以停止下载文件。 正如 olydis 在下面指出的那样,您可以执行一个HEAD请求来获取响应标头,然后决定是否要在此时下载完整的文件。