You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET程序笔记本报错:无法创建SSL/TLS安全通道求助

解决VB.NET程序在笔记本上的SSL/TLS安全通道创建失败问题

核心问题分析

你遇到的错误本质是笔记本的.NET运行环境与目标服务器(Google)的SSL/TLS协议兼容性不匹配——仅指定SecurityProtocolType.Tls(TLS 1.0)已无法满足现代服务器的安全要求,Google早已停止对TLS 1.0的支持。

具体解决方案

1. 扩展支持的SSL/TLS协议版本

将安全协议设置为包含TLS 1.1、1.2、1.3(根据.NET版本支持情况调整),替换你原来的两行代码:

ServicePointManager.Expect100Continue = True
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls13

注意:如果你的.NET版本低于4.5,需要手动添加TLS 1.2的定义,或者直接升级.NET框架版本。

2. 检查笔记本系统的SSL/TLS全局设置

  • 打开Internet选项 → 切换到高级标签页
  • 在设置列表的安全分类中,确保勾选使用TLS 1.1、使用TLS 1.2、使用TLS 1.3选项
  • 重启笔记本后重新测试程序

3. 替换WebClient为HttpClient(推荐方案)

WebClient是较老旧的网络客户端类,存在兼容性局限,改用更现代的HttpClient:

Async Sub CheckUsername(ByVal word As String)
    Dim clientHandler As New HttpClientHandler()
    clientHandler.SslProtocols = SslProtocols.Tls12 Or SslProtocols.Tls13
    clientHandler.ServerCertificateCustomValidationCallback = Function(sender, cert, chain, sslPolicyErrors) True

    Using httpClient As New HttpClient(clientHandler)
        httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0")
        Dim response As HttpResponseMessage = Await httpClient.GetAsync("https://www.google.com/search?q=" & word)
        
        If response.Headers.Count = 7 Then
            'MsgBox("True")'
        Else
            'MsgBox("False")'
        End If
    End Using
End Sub

注意:Async方法需要调用方支持异步逻辑,若需快速测试可改用.Result实现同步调用(不推荐长期使用)。

4. 排查安全软件或代理干扰

笔记本上的杀毒软件、防火墙或代理工具可能拦截了SSL连接,临时关闭这类软件后测试,若恢复正常则将程序添加至信任列表。

内容的提问来源于stack exchange,提问作者TTG TTG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:18:30