为什么我会收到'System.UriFormatException:无效的URI:指定的端口无效。'使用IPv6 URI时?

时间:2013-12-05 14:32:31

标签: c# ftp uri ipv6

为什么这是var uri = new Uri("ftp://1111:2222:3333::43/testing/1kb.zip");

抛出此异常?

  

System.UriFormatException:无效的URI:指定的端口无效。在System.Uri.CreateThis(String uri,Boolean dontEscape,UriKind uriKind)

1 个答案:

答案 0 :(得分:10)

来自RFC 2732

  

要在URL中使用文字IPv6地址,文字地址应为      用“[”和“]”字符括起来。

例如,这很好用:

var uri = new Uri("ftp://[1111:2222:3333::43]/testing/1kb.zip");

如果要指定端口,则需要在方括号外:

var uri = new Uri("ftp://[1111:2222:3333::43]:100/testing/1kb.zip");