基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系



这是我的代码,我花了很长时间才写出我仍然是一个裸体:

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# 中有这个。

编辑:

是的,这正是您收到此错误的原因,他们拥有的证书已过期。

最新更新