我们在.NET 4.8解决方案中使用Restsharp来处理http请求。
在解决证书问题之前,我们需要在一段时间内绕过http调用的ssl验证。
RestSharp版本=10.2.3.0是所使用的版本。
我们可以在论坛中看到绕过ssl的方法,并将其应用于我们的代码,如下所示,但它抱怨方法定义
Class1
{
private readonly IRestClient _restClient;
public Class1(IRestClient restClient)
{
_restClient = restClient;
}
GetApi()
{
restClient.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
RestRequest request = new RestRequest(url, Method.GET);
IRestResponse response = _restClient.Execute(request);
}
}
论坛上提出了另一种解决方案,但它表示将适用于整个应用程序。
如果我们使用这里显示的代码,它会只应用于该方法吗?还是会影响所有的http调用?
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
感谢
试试这个:
restClient.Options.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;