在爬取网站数据时,如果客户端与服务器端的TLS协议版本不一致,就会出现握手失败的情形。所以在出现问题时,可以先对服务器端支持的协议版本进行测试。

使用 OpenSSL 命令行测试

# 测试 TLS 1.0
openssl s_client -connect www.hiya.top:443 -tls1

# 测试 TLS 1.1
openssl s_client -connect www.hiya.top:443 -tls1_1

# 测试 TLS 1.2
openssl s_client -connect www.hiya.top:443 -tls1_2

# 测试 TLS 1.3
openssl s_client -connect www.hiya.top:443 -tls1_3

如果输出中包含 SSL-Session: Protocol 字段,则表示服务器支持该协议。例如:

SSL-Session:
    Protocol  : TLSv1.2