当我尝试使用Open VPN尝试POST到https API时遇到以下异常
注意:当我尝试在连接了Open VPN的平板电脑中使用摇摇欲坠访问API时,该API可以正常运行并且只是移动应用无法使用它。 ((在Xamarin应用程序中,我们得到了例外。
代码:
var uri = prepareLoginUri("/Login/Login");
var body = new { username, password };
var json = JsonConvert.SerializeObject(body);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _client.PostAsync(uri, content);
Exception:
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
为此异常找到了解决方案,但没有解决问题:
https://forums.xamarin.com/discussion/91782/trust-anchor-for-certification-path-not-found
根据此链接中的建议,我在MainActivity.cs中添加了以下代码:
。HttpClientHandler clientHandler = new HttpClientHandler(); clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; }; _client = new HttpClient(clientHandler);
这解决了异常,但是我现在从API获得的响应是404未找到
StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent
但是大摇大摆,该API绝对可以正常工作。
[当尝试使用Open VPN POST到https API时遇到以下异常注意:当我尝试在连接Open VPN的平板电脑中使用swagger访问API时,API为...
[尝试在/
的末尾放置一个斜杠(BaseAddress
),并且您不得在相对URI的开头放置一个斜杠(/
)。像: