VB。NET:请求被中止:无法创建 SSL/TLS 安全通道

wys*_*327 5 vb.net

我有一个在 VB.net 中编码的应用程序,它具有这种访问 Webservice 的方法,我遇到了这个错误,在搜索修复程序后我仍然没有运气。

错误:请求被中止:无法创建 SSL/TLS 安全通道。

    'ServicePointManager.Expect100Continue = False
    'ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls

    Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)

    Dim ErrMsg As String = String.Empty

    Try

        Dim response As WebResponse = request.GetResponse()

        Using responseStream As Stream = response.GetResponseStream()
            Dim reader As New StreamReader(responseStream, Encoding.UTF8)

            Return reader.ReadToEnd()
        End Using
    Catch ex As WebException

        ErrMsg = ex.Message.ToString
        MsgBox(ErrMsg)

        Dim errorResponse As WebResponse = ex.Response
        Using responseStream As Stream = errorResponse.GetResponseStream()
            Dim reader As New StreamReader(responseStream, Encoding.GetEncoding("utf-8"))
            ' log errorText
            Dim errorText As [String] = reader.ReadToEnd()
        End Using
        Throw
    End Try
Run Code Online (Sandbox Code Playgroud)

这是我的代码,我使用的是 VS2015 和 Windows 10。

非常感谢所有帮助。TIA

Mat*_*now 10

显然,您正在调用的 URL 需要TLS 1.1TLS 1.2

您可以启用TLS 1.1TLS 1.2通过设置安全协议ServicePointManager.SecurityProtocol

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Run Code Online (Sandbox Code Playgroud)

.NET 4.0支持高达TLS 1.0while.NET 4.5或更高 支持高达TLS 1.2
参考: