如何使用 Python 识别网站是否启用 HTTPS 协议?
您需要将未指定协议的域名转换为完整的 url 格式,即 http:// 或 https://。由于公共网站的端口通常已知,因此您可以利用这一点。
以下 python 代码演示了如何识别协议:
import urllib.parse # 要转换的域名列表 domains = ['www.baidu.com', 'www.google.com', 'www.amazon.com'] # 遍历域名并构建完整的 url for domain in domains: # 如果没有指定协议,则尝试 http url = f'http://{domain}' # 尝试连接网站端口 80(http) try: urllib.parse.urlparse(url) print(f'{domain} 使用 http') except urllib.error.urlerror: # 如果连接失败,尝试 https url = f'https://{domain}' try: urllib.parse.urlparse(url) print(f'{domain} 使用 https') except urllib.error.urlerror: print(f'{domain} 无法识别协议')
输出将提供每个域名的协议,如下所示:
www.baidu.com 使用 HTTPS www.google.com 使用 HTTPS www.amazon.com 使用 HTTPS