检查网址是否指向文件或页面
本文关键字:文件 是否 检查 | 更新日期: 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
请求来获取响应标头,然后决定是否要在此时下载完整的文件。