每次我尝试使用 Android 模拟器使用 Web Api 时,它都不起作用。
我尝试了简单的获取值,但它不起作用:
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;
}
}
解决证书错误。
我尝试了 swagger 并且获取值正在工作。但例如,当我启动 Android 模拟器来测试我的 Web api 时,它被卡住了,无法工作。
最佳答案
没关系,我解决了问题:https://learn.microsoft.com/fr-fr/xamarin/cross-platform/deploy-test/connect-to-local-web-services
我创建了一个新的webApi项目,没有https,但它必须与https相同。 解决方案 : 我应该写http://10.0.2.2 :“端口”而不是我之前的 IP,用于连接本地主机中的 wep Api 服务器。 感谢您的帮助。
关于c# - WebApi 和 Xamarin.Forms [Android 模拟器] 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60011516/