Python快速且以其性能和功能闻名。
在使用HTTP/2测试工具时, 我尝试了很多选择, 发现Python最快, 更准确, 更轻巧。如果要内部开发测试站点是否支持HTTP/2, 则可以使用以下代码。
它适用于Python3.x。
import socket
import ssl
import csv
import argparsefrom urllib.parse import urlparsesocket.setdefaulttimeout(5)headers = {"user-agent": "Mozilla/5.0 (X11;
Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}def check_http2(domain_name):
try:
HOST = urlparse(domain_name).netloc
PORT = 443ctx = ssl.create_default_context()
ctx.set_alpn_protocols(['h2', 'spdy/3', 'http/1.1'])conn = ctx.wrap_socket(
socket.socket(socket.AF_INET, socket.SOCK_STREAM), server_hostname=HOST)
conn.connect((HOST, PORT))pp = conn.selected_alpn_protocol()if pp == "h2":
return {"http2": True}
else:
return {"http2": False}
except Exception as e:
print(e)parser = argparse.ArgumentParser()
parser.add_argument("domain", help="display a square of a given number", type=str)
args = parser.parse_args()print(check_http2(args.domain))
要运行该程序, 可以使用以下语法。
python3 $SCRIPT.py $URL
Ex
[email
protected]:~# python3 http2.py https://siterelic.com
{'http2': True}
[email
protected]:~#
你会看到要实现的几行代码。如果你想精通Python, 请查看Udemy课程。并且, 要利用H2协议, 请参考以下实施指南。
如何在Apache和Nginx中启用HTTP/2?
如何在Tomcat中实现HTTP2?
【Python脚本测试网站是否支持HTTP/2】LiteSpeed Web服务器上的HTTP 2实施指南
推荐阅读
- 9个用于构建企业应用程序的Java EE框架
- JavaScript错误的5个常见原因(以及如何避免)
- 微信开发第四课 App() getApp() Page() getCurrentPages() 之间的区别
- uniapp打包发版到linux服务器步骤----H5端
- 使用OpenJDK进行Delphi Android开发
- 遇到难题求高手帮忙解决--Android P开始监听不到关机广播
- 安卓运用手机多媒体
- 安卓快速添加get和set
- 成都APP软件EXE开发(EXCEL VBA的基本知识和入门引导V2)