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

时间:2013-09-16 13:13:40

标签: c# vb.net

我们需要以下内容:

如果文件实际上是文件,请从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#中的答案都是受欢迎的,这就是我标记两者的原因。

1 个答案:

答案 0 :(得分:9)

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

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