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

我们需要以下内容:

如果文件实际上是文件,请从URL下载文件。 否则如果它的页面什么都不做。

快速举例说明我有以下内容来下载文件:

My.Computer.Network.DownloadFile( "http://sofzh.miximages.com/c%23/ff_googleinfrastructure_large.jpg", "d:\ff_googleinfrastructure_large.jpg") 

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

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

它可以是任何类型的文件,因此检查URL是否以.zip或.jpg或.docx或…结束,根本不会这样做。

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

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

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