HttpClient无法使用国际域名

时间:2014-01-07 10:47:34

标签: c# .net

当我尝试使用System.Net.Http.HttpClient从具有utf字符的域获取响应时,我得到了异常。

The remote name could not be resolved

有没有人知道如何解决这个问题,或者是否有正确处理这个问题的库?

2 个答案:

答案 0 :(得分:1)

我认为HttpClient不会解析国际域名。

您可以按照here

的说法自行实施

当您要求http://Bücher.ch/

时,您还可以查看Chrome执行的操作

enter image description here

您甚至可以注意到当您尝试从网址字段进行复制/粘贴时会发生什么,它会自动将其转换为http://xn--bcher-kva.ch/

答案 1 :(得分:1)

您需要在app.config中enable IDN parsing。它默认是关闭的。

<configuration>
  <uri>
    <idn enabled="All" />
    <iriParsing enabled="true" />
  </uri>
</configuration>