【发布时间】:2017-02-19 20:45:27
【问题描述】:
我正在使用 Xamarin Forms 从 NetFlix 使用 REST Api,但我在弹出窗口中遇到了这个问题: System.Net.WebException:错误:NameResolutionFailure
为什么会出现这个错误?
我的代码:
private HttpClient client = new HttpClient();
private List<Movie> movies;
public async Task<List<Movie>> LocalizaFilmesPorAtor(string ator)
{
if (string.IsNullOrWhiteSpace(ator))
{
return null;
}
else
{
string url = string.Format("http://netflixroulette.net/api/api.php?actor={0}", ator);
var response = await client.GetAsync(url);
if (response.StatusCode == HttpStatusCode.NotFound)
{
movies = new List<Movie>();
} else
{
var content = await response.Content.ReadAsStringAsync();
var _movies = JsonConvert.DeserializeObject<List<Movie>>(content);
movies = new List<Movie>(_movies);
}
return movies;
}
}
在调试模式下表示错误在此代码中
string url = string.Format("http://netflixroulette.net/api/api.php?actor={0}", ator);
var response = await client.GetAsync(url);
他停在那里,url 接收到 url + 演员名称,但在下一行,响应保持为空。
PS:我在 Manifest 中允许我的应用程序上网!
【问题讨论】:
-
NameResolutionFailure 通常表示 DNS 问题。您是否确认可以从设备的浏览器加载该网站?
-
当 URL 失败时,在浏览器中检查 URL。有时它是站在他们一边而不是你一边。在编码中添加错误捕获的更多理由
-
在android模拟器中我经常遇到这种情况,有时网桥无法正常启动。
-
确保模拟器可以访问互联网,打开模拟器浏览器并访问任何网站(google.com par example)。
-
我知道了,再次感谢!
标签: android xamarin.ios xamarin.forms androidhttpclient