这是我的代码,花了我很多时间才写出来,因为我还是个小家伙:
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Form1
Dim logincookie As CookieContainer
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim postdata As String = "action=do_login&url=https%3A%2F%2Fforum.suprbay.org% 2F&quick_login=1&quick_username=USERNAME&quick_password=PASSWORD&submit=Login&quick_remember=yes"
Dim tempcookies As New CookieContainer
Dim encoding As New UTF8Encoding
Dim bytedata As Byte() = encoding.GetBytes(postdata)
Dim postreq As HttpWebRequest = DirectCast(WebRequest.Create("https://forum.suprbay.org/member.php"), HttpWebRequest)
postreq.Method = "POST"
postreq.KeepAlive = True
postreq.CookieContainer = tempcookies
postreq.ContentType = "application/x-www-forum-urlencoded"
postreq.Referer = "https://forum.suprbay.org/member.php"
postreq.UserAgent = "Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
postreq.ContentLength = bytedata.Length
Dim postreqstream As Stream = postreq.GetRequestStream()
postreqstream.Write(bytedata, 0, bytedata.Length)
postreqstream.Close()
Dim postresponse As HttpWebResponse
postresponse = DirectCast(postreq.GetResponse(), HttpWebResponse)
tempcookies.Add(postresponse.Cookies)
logincookie = tempcookies
Dim postreqreader As New StreamReader(postresponse.GetResponseStream)
Dim thepage As String = postreqreader.ReadToEnd
RichTextBox1.Text = thepage
End Sub
End Class
当我运行它并单击按钮时,出现以下错误:
“基础连接已关闭:无法建立信任
SSL / TLS安全通道的关系。”
这是PirateBay.Se的官方论坛,这是一个洪流网站,如果您在常规浏览器中访问它,则会收到有关信任证书的警告,所以这可能就是为什么我会收到错误消息,对吗?如何忽略信任证书和内容,以便我的应用程序可以正常工作?
最佳答案
此行应忽略连接上的信任错误,请在尝试连接之前执行此操作:
ServicePointManager.ServerCertificateValidationCallback = AddressOf ValidateRemoteCertificate
您还需要在您的班级中对此进行定义:
Public Shared Function ValidateRemoteCertificate(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean
Return True
End Function
抱歉,如果这不是对VB.Net的完美翻译,我本来是在C#中使用的。
编辑:
是的,这正是您收到此错误的原因,即他们拥有的证书已过期。
关于.net - 基础连接已关闭:无法为SSL/TLS安全 channel 建立信任关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11891529/