在Python中,您可以使用ssl
库和socket
库来检查域名是否有SSL证书
import ssl
import socket
def check_ssl_certificate(domain, port=443):
context = ssl.create_default_context()
try:
with socket.create_connection((domain, port)) as sock:
with context.wrap_socket(sock, server_hostname=domain) as ssock:
certificate = ssock.getpeercert()
if certificate:
print(f"域名 {domain} 具有 SSL 证书")
else:
print(f"域名 {domain} 没有 SSL 证书")
except Exception as e:
print(f"无法检查域名 {domain} 的 SSL 证书: {e}")
# 使用示例
check_ssl_certificate("example.com")
这个函数通过尝试建立一个到指定端口(默认为443,这是HTTPS的默认端口)的SSL连接来检查域名是否有SSL证书。如果连接成功并获取到证书,函数会输出域名具有SSL证书,否则输出没有SSL证书。如果在尝试连接过程中发生任何异常(例如域名无法解析、连接超时等),函数会捕获并输出异常信息。
领取专属 10元无门槛券
手把手带您无忧上云