python如何识别http与https协议
对于众多类似www.baidu.的域名,您需要将其拼接为www.baidu.或www.baidu.。但由于您不知道域名使用的是http还是https协议,这给拼接带来了一定的困难。
一种常用的解决方法是端口尝试。对于公共网站,端口尝试是一个可行的方式。您可以使用python的socket模块,尝试连接每个域名的80端口(http)和443端口(https)。如果连接成功,则对应协议为网站使用的协议。以下是python代码示例:
import socket# 域名列表domains = [‘www.baidu.’, ‘www.google.’, ‘www.youtube.’]# 创建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} 连接失败。")
以上就是Python如何识别域名使用的HTTP还是HTTPS协议?的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » Python如何识别域名使用的HTTP还是HTTPS协议?