解析IPv6回环地址为Uri

4
我写了一个客户端/服务器应用程序,正在本地测试。
服务器将客户端的IP地址读取为::1,这是一个IPv6环回地址。
但是,我需要稍后重新建立到该客户端的HttpClient连接,通过提供Uri的BaseAddress:
  var originalAddress = "::1";
  var client = new HttpClient() { BaseAddress = new Uri(originalAddress) };

这导致异常无效的URI:无法确定URI的格式。

我该如何让Uri接受这个地址?


在谷歌上搜索如何解决“IPv6到URI”的问题,这里有一个起点:https://dev59.com/fFXTa4cB1Zd3GeqPyiL2 - MethodMan
1个回答

6

如在其他帖子中提到的那样,解决方案是根据RFC 2732的规定,在IPv6地址周围加上括号:

var uri = new Uri("http://[::1]:8080");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接