我正在检查该站点使用的 http 协议http://www.dlf.in/ Chrome 开发人员工具显示它是 http/1.1,如下图所示。
但是,python 中的命令行工具is-http2或 alpn 似乎表明 http/1.1 不可用。并且只有 http1 可用。这里发生了什么?
我在 python 中进行 ALPN 协商如下(openssl 版本:OpenSSL 1.0.2h 和 python 版本 3.5.1)
import ssl
import socket
port = 443
domain = 'www.dlf.in'
ctx = ssl.create_default_context()
ctx.set_alpn_protocols(['h2', 'spdy/3.1', 'spdy/3', 'spdy/2', 'http/1.1'])
conn = ctx.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM),
server_hostname=domain)
conn.connect((domain, port))
print(conn.selected_alpn_protocol())