C# RestSharp请求中止-无法创建SSL/TLS安全通道
我正在尝试使用RestSharp在本地机器上测试API调用,代码如下C# RestSharp请求中止-无法创建SSL/TLS安全通道,c#,asp.net,ssl,restsharp,C#,Asp.net,Ssl,Restsharp,我正在尝试使用RestSharp在本地机器上测试API调用,代码如下 var client = new RestClient("https://[API URL]"); var request = new RestRequest( Method.POST); request.AddParameter("session", this, ParameterType.RequestBody); IRestResponse<Ses
var client = new RestClient("https://[API URL]");
var request = new RestRequest( Method.POST);
request.AddParameter("session", this, ParameterType.RequestBody);
IRestResponse<SessionOut> response = client.Execute<SessionOut>(request);
return response.Data.session.id;
嗯。。。在调用HTTPS端点之前,需要完成几个步骤 1) 确保您的服务器支持HTTPS端点(即:URL是可访问的) 2) 在执行HTTPS调用的计算机上安装有效的服务器(api服务器)证书 3) 将证书添加到RestSharp客户端。与此类似:
string pathToYourClientCert = "cer/cert.cer";
client.ClientCertificates.Add(new X509Certificate(pathToYourClientCert));
希望这有帮助…尝试将此添加到代码中:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
相关资源:
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
为了使我的API请求在Xamarin表单中工作,我必须同时执行这两项操作
确保您的证书不是自签名的 你的系统有某种代理,没有@AnirudhaGupta,只是直接从本地主机到API进行测试。检查@Shai的答案,如果它不能正常工作,你能在Postman和HttpClient中测试它吗?如果它显示相同,你需要在你的机器中安装该证书。这个答案应该有用。谢谢@Shai_Aharoni,我已经添加了证书加载代码,仍然收到相同的错误。证书是在IIS中创建的,并使用mmc.exe导出。该网站在https://See my updated answer上运行(由于自创证书而发出警告)。
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;