WebClient下载 - 如何检测错误的URL

时间:2012-02-27 20:24:56

标签: .net vb.net url webclient

我们最近开始在Windows 7/64工作站上使用vb.net 2008 WebClient将文件从网站下载到本地计算机。

除了我们无法检测到URL是否无效外,它的工作原理。它不会引发错误。如果我们使用Async,它会触发Download Complete事件,但由于URL不正确,因此没有文件。

有没有办法检测错误的网址?

我还注意到事件没有提供URL或文件?好像应该这样吗?

由于

1 个答案:

答案 0 :(得分:1)

无效网址的含义并不十分清楚。这可能意味着两件事:

  1. 网址格式不正确
  2. 格式正确的网址但服务器未响应HTTP 2xx或3xx状态代码
  3. 就检测到格式正确的URL而言,您可以在尝试发送HTTP请求之前使用Uri.TryCreate方法。并且就检测第二个条件而言,在您实际向给定URL发送HTTP请求之前,您无法检测到它。如果服务器响应的状态代码不同于2xx或3xx,例如404或500,则会抛出异常,您可以捕获。如果您使用方法的异步版本,则不会抛出异常,但在完整的回调中,您必须在尝试访问{{1}之前检查传递的EventArgs实例的Error属性是否为null。 } property。