如何解决当 url 正确时,VB.NET webrequest 返回 404
我已经在这尝试了几个小时。我正在将此代码从 Access 2010 项目移植到 vb.net 我不知道这里会出现什么问题。
Visual Studio 2019,框架 4.7.2
Dim data As Byte() = Encoding.UTF8.GetBytes(strBody)
url = "https://rest.avatax.com/api/v2/companies/" & OE2019HomeForm.strAvalaraCompany & "/certificates/"
Dim uri As Uri = New Uri(url)
Dim request As System.Net.WebRequest = System.Net.WebRequest.Create(uri)
request.Method = "Post"
request.Headers.Add("40","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)")
request.Headers.Add("Authorization","Basic " & OE2019HomeForm.strAuth)
request.Headers.Add("Cache-Control","no-cache")
request.Headers.Add("20","application/json") 'this is the accept header
request.Headers.Add("12","text/plain") ' content type
request.ContentLength = data.Length
Dim stream As Stream = request.GetRequestStream()
stream.Write(data,data.Length)
stream.Close()
Using response As WebResponse = request.GetResponse()
Using responsestream As Stream = response.GetResponseStream()
Using reader As StreamReader = New StreamReader(responsestream)
Dim webresponse As String
webresponse = reader.ReadToEnd()
MsgBox(webresponse)
End Using
End Using
End Using
' 如果我在使请求变暗之前在下面添加一行,我会得到“'底层连接已关闭:接收时发生意外错误。'内部异常:Win32Exception:客户端和服务器无法通信,因为它们没有通用算法"
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
任何帮助都会很棒。
解决方法
这对你有用吗? 把它放在靠近顶部的地方。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or
SecurityProtocolType.Tls12 Or SecurityProtocolType.Ssl3 Or SecurityProtocolType.Ssl3
ServicePointManager.ServerCertificateValidationCallback = Function(obj As [Object],certificate As X509Certificate,chain As X509Chain,errors As SslPolicyErrors) (True)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。