Xamarin Forms - Salesforce - TLS 1.1 或 TLS 1.2。 POST 错误 API 调用 Android
Xamarin Forms - Salesforce - TLS 1.1 or TLS 1.2. error for POST API call for Android
我们正在尝试从我们的 Xamarin Forms 项目调用 Salesforce restful API。这些调用在 iOS 应用程序方面工作正常但在 Android.
方面失败
HttpClient authClient = new HttpClient();
message = await authClient.PostAsync("url", content);
string responseString = await message.Content.ReadAsStringAsync();
我们在 Android 的 "responseString" 变量中收到以下响应。
<tr><td width="100%" height="100%"><div class="content">
<h1>**Stronger security is required**</h1><div class="simple">
<p>**To access this website, update your web browser or upgrade your operating system to support TLS 1.1 or TLS 1.2.**</p>
<p>For more information, see
<a href="https://help.salesforce.com/HTViewSolution?id=000221207&language=en_US" target="_blank">Salesforce disabling TLS 1.0</a>.
</p>
</div></div></td></tr>
</table></body>
</html>
我们需要找到一个应该支持 iOS、Android 和 Win 10 应用程序的解决方案。我们检查了 iOS 并且它起作用了。现在正在检查 Android 并且不工作。对于 Windows 我们不检查。
请帮忙。
我个人 运行 没有深入探讨这个问题,但您可以 ModernHttpClient 试一试。安装该库允许您将 NativeMessageHandler
传递到您的 HttpClient
。这将使用 Android 上的本机实现,这将允许使用 Xamarin Forms 实现无法立即使用的额外安全功能。
如果可能,您还应该将 Xamarin Forms 库更新到最新版本。
您的代码将变为(我还添加了一个 using
,因为这是一种很好的做法):
using(HttpClient authClient = new HttpClient(new NativeMessageHandler())) {
message = await authClient.PostAsync("url", content);
string responseString = await message.Content.ReadAsStringAsync();
}
我们正在尝试从我们的 Xamarin Forms 项目调用 Salesforce restful API。这些调用在 iOS 应用程序方面工作正常但在 Android.
方面失败HttpClient authClient = new HttpClient();
message = await authClient.PostAsync("url", content);
string responseString = await message.Content.ReadAsStringAsync();
我们在 Android 的 "responseString" 变量中收到以下响应。
<tr><td width="100%" height="100%"><div class="content">
<h1>**Stronger security is required**</h1><div class="simple">
<p>**To access this website, update your web browser or upgrade your operating system to support TLS 1.1 or TLS 1.2.**</p>
<p>For more information, see
<a href="https://help.salesforce.com/HTViewSolution?id=000221207&language=en_US" target="_blank">Salesforce disabling TLS 1.0</a>.
</p>
</div></div></td></tr>
</table></body>
</html>
我们需要找到一个应该支持 iOS、Android 和 Win 10 应用程序的解决方案。我们检查了 iOS 并且它起作用了。现在正在检查 Android 并且不工作。对于 Windows 我们不检查。
请帮忙。
我个人 运行 没有深入探讨这个问题,但您可以 ModernHttpClient 试一试。安装该库允许您将 NativeMessageHandler
传递到您的 HttpClient
。这将使用 Android 上的本机实现,这将允许使用 Xamarin Forms 实现无法立即使用的额外安全功能。
如果可能,您还应该将 Xamarin Forms 库更新到最新版本。
您的代码将变为(我还添加了一个 using
,因为这是一种很好的做法):
using(HttpClient authClient = new HttpClient(new NativeMessageHandler())) {
message = await authClient.PostAsync("url", content);
string responseString = await message.Content.ReadAsStringAsync();
}