C# WebApi和Xamarin.Forms[Android Emulator]请求错误
每次我试图用我的android模拟器使用我的web Api时,它都不起作用 我尝试了简单的get值,但没有成功:C# WebApi和Xamarin.Forms[Android Emulator]请求错误,c#,android,visual-studio,xamarin,asp.net-web-api,C#,Android,Visual Studio,Xamarin,Asp.net Web Api,每次我试图用我的android模拟器使用我的web Api时,它都不起作用 我尝试了简单的get值,但没有成功: public async void Test() { HttpClient httpClient = this.HttplicentAccount; var uploadServiceBaseAdress = "https://192.168.0.19:44336/api/values";
public async void Test()
{
HttpClient httpClient = this.HttplicentAccount;
var uploadServiceBaseAdress = "https://192.168.0.19:44336/api/values";
var value = await httpClient.GetAsync(uploadServiceBaseAdress);
var status = value.StatusCode;
Console.WriteLine(status);
}
我使用:
private HttpClient _httpClient;
public HttpClient HttplicentAccount
{
get
{
_httpClient = _httpClient ?? new HttpClient
(
new HttpClientHandler()
{
ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
{
//bypass
return true;
},
}
, false
)
{
BaseAddress = new Uri("https://192.168.0.19:44336"),
};
// In case you need to send an auth token...
//_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", "YOUR_TOKEN");
return _httpClient;
}
}
来对抗证书错误
我试着大摇大摆,结果get值起作用了。但是,例如,当我启动android emulator来测试我的web api时,无法工作。无论如何,我修复了以下问题: 我创建了一个没有https的新webApi项目,但它必须与https相同。 解决方案: 我应该写:“端口”而不是我以前的ip,以连接本地主机中的WEPAPI服务器。
谢谢您的帮助。您能从设备/模拟器的web浏览器调用API吗?您是否检查了服务器日志,以了解其响应的原因。400?这能回答你的问题吗?你可以标记答案,这将帮助更多有同样问题的人。我遇到同样的问题,并改为。还是不为我工作。调用api时是否需要对用户进行身份验证?