Python如何识别域名使用的HTTP还是HTTPS协议?

ID:20603 / 打印

python如何识别域名使用的http还是https协议?

python如何识别http与https协议

对于众多类似www.baidu.com的域名,您需要将其拼接为http://www.baidu.com或https://www.baidu.com。但由于您不知道域名使用的是http还是https协议,这给拼接带来了一定的困难。

一种常用的解决方法是端口尝试。对于公共网站,端口尝试是一个可行的方式。您可以使用python的socket模块,尝试连接每个域名的80端口(http)和443端口(https)。如果连接成功,则对应协议为网站使用的协议。以下是python代码示例:

import socket  # 域名列表 domains = ['www.baidu.com', 'www.google.com', 'www.youtube.com']  # 创建socket并设置超时 s = socket.socket() s.settimeout(3)  # 设置超时时间为3秒  # 遍历域名并尝试连接 for domain in domains:     # 尝试连接HTTP端口     try:         s.connect((domain, 80))         print(f"{domain} 使用HTTP协议。")     except:         # 如果连接HTTP端口失败,则尝试连接HTTPS端口         try:             s.connect((domain, 443))             print(f"{domain} 使用HTTPS协议。")         except:             # 如果连接HTTPS端口也失败,则打印连接失败信息             print(f"{domain} 连接失败。")
上一篇: Scrapy 管道连接 MySQL 报错,错在哪?
下一篇: Selenium 浏览器中响应头修改插件失效怎么办?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。