【问题标题】:Parsing an IPv6 loopback address to a Uri将 IPv6 环回地址解析为 Uri
【发布时间】:2015-09-15 14:50:39
【问题描述】:

我编写了一个客户端/服务器应用程序,我正在本地机器上进行测试。

服务器读取客户端的 IP 地址为::1,这是一个 IPv6 环回地址。

但是,稍后我需要通过提供 Uri 的 BaseAddress 来重新建立与该客户端的 HttpClient 连接:

  var originalAddress = "::1";
  var client = new HttpClient() { BaseAddress = new Uri(originalAddress) };

这会导致异常Invalid URI: The format of the URI could not be determined.

如何让 Uri 接受这个地址?

【问题讨论】:

标签: c# sockets asp.net-web-api


【解决方案1】:

正如其他帖子中提到的,解决方案是按照RFC 2732将IPv6地址用括号括起来:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 2011-06-03
    相关资源
    最近更新 更多