本地网络上的Xamarin HttpClient请求获取NameResolutionFailure错误

时间:2018-08-15 06:33:08

标签: .net xamarin xamarin.ios mono httpclient

需要向本地网络服务器发出请求。如果知道机器名称,但不知道IP地址。

string serverAddress = "mylocalserver";
System.Net.ServicePointManager.DnsRefreshTimeout = 0;
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
HttpClient client = new HttpClient(handler);
var url = $"http://{serverAddress}/";
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();

但失败

  

System.Net.Http.HttpRequestException:发送时发生错误   请求---> System.Net.WebException:错误:NameResolutionFailure

1 个答案:

答案 0 :(得分:1)

NameResolutionFailure通常是DNS名称解析错误。

通常,如果您的服务器位于一个域中(并且配置正确),则应使用其全名来获得它:

  

yourlocalserver.yourdomain.local

如果您没有域,则还可以在本地系统中配置“ DNS覆盖”。每个操作系统都不同。例如,在Windows中,其host文件位于%WINPATH%\System32\drivers\etc中。

第三,您可以在网络中没有完全配置的域的情况下使用DNS。如果服务器在其中,则应向DNS查询正确的地址。