在爬取网站数据时,如果客户端与服务器端的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