WebClient.DownloadFile 404错误与URI中的HTML字符?

时间:2009-05-21 04:15:40

标签: c#

我正在使用WebClient类从网站下载文件,并有几个问题。

  1. 当URI在URI路径中包含HTML字符时(例如http://foo.com/path1 & path2.pdf),我得到404(未找到)错误。我怎么能阻止这个?我认为HTML字符是安全的吗?

  2. 当URI表示目录(例如http://foo.com/path)时,我得到403(禁止)错误。我理解为什么会这样,但我如何测试我的URI以查看它是否代表没有索引页的目录。

1 个答案:

答案 0 :(得分:3)

  1. HTML编码字符对于网址不安全。您需要对它们进行URL编码。如果您的数据以html编码存储,则您需要使用HttpUtility.HtmlDecode来获取格式正确的网址(即foo.com/page?foo=1&bar=2。如果您有特殊字符必须包含在网址中,例如不符合的&符号如果您要对网址进行网址编码,请使用HttpUtility.UrlEncode
  2. 你不能。