代码之家  ›  专栏  ›  技术社区  ›  eft

WebClient.DownloadFile 404在URI中有HTML字符错误?

c#
  •  1
  • eft  · 技术社区  · 17 年前

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

    1. 当URI路径中有HTML字符时(例如 http://foo.com/path1 & 我得到404个(找不到)错误。我该如何预防?我以为HTML字符是安全的?

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

    1 回复  |  直到 17 年前
        1
  •  3
  •   Randolpho    17 年前
    1. HTML编码字符对URL不安全。你需要对它们进行URL编码。如果您的数据存储为HTML编码,则需要使用 HttpUtility.HtmlDecode 获取正确格式的URL(即 foo.com/page?foo=1&bar=2 . 如果您有一些特殊的字符必须输入URL,比如不属于URL查询部分的符号,那么您需要对它们进行URL编码。使用 HttpUtility.UrlEncode
    2. 你不能。