在 VB.Net 中通过 RestSharp 发布时如何忽略证书验证

How To Ignore Certificate Validation When POSTing via RestSharp in VB.Net

我正在使用以下代码尝试在 VB.Net 中使用 RestSharp 访问 API:

    Dim myClient As New RestClient(*https api website url*)
    Dim myRequest As New RestRequest(Method.POST)
    myRequest.AddHeader("Content-Type", "application/json")
    myRequest.AddCookie("JSESSIONID", "568E16300DB90F7CEC5A7882C66D3684")
    myRequest.AddCookie("sessionExpiry", "3600000") ' 1 Hour
    myRequest.AddParameter("undefined", "{\""username\"":\""*myUsername*\"",\""password\"":\""*myPassword*\"",\""clientInformation\"":{\""userAgent\"":\""Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36\"",\""height\"":1440,\""width\"":2560,\""os\"":\""Win32\""},\""application\"":\""p4app\""}", ParameterType.RequestBody)
    Dim myResponse As IRestResponse
    myResponse = myClient.Execute(myRequest)
    MsgBox(myResponse.Content)

它一直给我错误“消息”:“登录失败 - 登录请求无效”

有人告诉我我需要忽略 SSL 证书,但我似乎找不到使用 RestSharp 来做到这一点的方法。有什么想法吗?

我不知道 RestSharp 在下面使用什么,但它可能会像这样工作:

进口:

Imports System.Net
Imports System.Net.Security
Imports System.Security.Cryptography.X509Certificates

注册证书验证器:

    Dim myHandler As RemoteCertificateValidationCallback =
        Function(sender As Object, certificate As X509Certificate, chain As X509Chain, sslPolicyErrors As SslPolicyErrors) As Boolean
            Return True
        End Function

    ServicePointManager.ServerCertificateValidationCallback = myHandler