Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RestSharp请求中止-无法创建SSL/TLS安全通道_C#_Asp.net_Ssl_Restsharp - Fatal编程技术网

C# RestSharp请求中止-无法创建SSL/TLS安全通道

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

我正在尝试使用RestSharp在本地机器上测试API调用,代码如下

        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;
相关资源:

遵循以下步骤:

在加载应用程序之前,还要将此添加到MainActivity.cs->OnCreate->中的代码中:

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;