このサイトで使用されている http プロトコルを確認していますhttp://www.dlf.in/ Chrome 開発者ツールは、下の画像のように http/1.1 であることを示しています。
ただし、 http/1.1 が使用できないことを示しているように見えるため、コマンド ライン ツールは Python の -http2または alpn です。また、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())