检查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
请求以仅返回响应标头,然后决定是否要在此时完整下载文件。