テクノロジー 開発 非公開: Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト

Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト

Python は高速であり、そのパフォーマンスと機能で知られています。

HTTP/2 テスト ツールで作業しているときに、多くのオプションを試したところ、Python が最も速く、より正確で、軽量であることがわかりました。サイトが HTTP/2 をサポートしているかどうかをテストするために何かを社内で開発している場合は、次のコードを使用できます。

Python 3.x上で動作します。

 import socket
import ssl
import csv
import argparse

from urllib.parse import urlparse

socket.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 = 443

		ctx = 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

root@gf-lab:~# python3 http2.py https://siterelic.com
{'http2': True}
root@gf-lab:~#

数行のコードで実現できることがわかります。 Python をマスターしたい場合は、この Udemy コース をチェックしてください。また、H2 プロトコルを利用するには、次の実装ガイドを参照してください。

  • Apache と Nginx
  • トムキャット
  • ライトスピード
Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト
Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト

「Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト」についてわかりやすく解説!絶対に観るべきベスト2動画

【HTTPS/HTTPって違うの?】日ごろよく閲覧するウェブサイトですがはたして安全なのだろうか? クレジットカードの番号タイプしていいの? 個人情報は? ウェブ・セキュリティ
知っていないとヤバい?HTTPとHTTPSの違いについてわかりやすく解説!

Python は高速であり、そのパフォーマンスと機能で知られています。

HTTP/2 テスト ツールで作業しているときに、多くのオプションを試したところ、Python が最も速く、より正確で、軽量であることがわかりました。サイトが HTTP/2 をサポートしているかどうかをテストするために何かを社内で開発している場合は、次のコードを使用できます。

Python 3.x上で動作します。

 import socket
import ssl
import csv
import argparse

from urllib.parse import urlparse

socket.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 = 443

		ctx = 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

root@gf-lab:~# python3 http2.py https://siterelic.com
{'http2': True}
root@gf-lab:~#

数行のコードで実現できることがわかります。 Python をマスターしたい場合は、この Udemy コース をチェックしてください。また、H2 プロトコルを利用するには、次の実装ガイドを参照してください。

  • Apache と Nginx
  • トムキャット
  • ライトスピード
Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト
Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト

「Web サイトが HTTP/2 をサポートしているかどうかをテストする Python スクリプト」についてわかりやすく解説!絶対に観るべきベスト2動画

【HTTPS/HTTPって違うの?】日ごろよく閲覧するウェブサイトですがはたして安全なのだろうか? クレジットカードの番号タイプしていいの? 個人情報は? ウェブ・セキュリティ
知っていないとヤバい?HTTPとHTTPSの違いについてわかりやすく解説!