vb.net - 在 VB.Net 中通过 RestSharp 发布时如何忽略证书验证
问题描述
我正在使用以下代码尝试在 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
推荐阅读
- ios - 使用催化剂移植到 mac 时排除 pod
- cordova - Ionic 5 IOS 无法向 Google Tag Manager 发送数据
- html - 删除记录后如何在不刷新视图的情况下发布表数据?
- r - 如何在R中的多个数据框中绘制列?
- racket - 球拍 - 两个列表比较列表和值的问题
- javascript - 是否可以在服务器上编写支持 javascript 或 php 脚本的网页?
- javascript - 用于同步通知的 MutationObserver 的替代方案
- c++ - 如何知道我的编译器如何编码浮点数据?
- java - JTable 未在数据库中显示添加的条目
- kendo-ui - 如果使用javascript在kendo dropdowntree中没有子元素,如何删除父元素