可以直接给他一个开通了ssl证书的网站域名,就能算出ssl证书是否过期,还剩多少天,适合ssl证书远程监控报警,代码如下:
import ssl import socket from datetime import datetime def check_ssl_expiry(hostname, port=443): ssl_context = ssl.create_default_context() conn = ssl_context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=hostname) # 3秒应该足以建立连接 conn.settimeout(3.0) try: conn.connect((hostname, port)) ssl_info = conn.getpeercert() except Exception as e: print(f"Error: {e}") return None finally: conn.close() # 获取证书的过期时间 expire_date = datetime.strptime(ssl_info['notAfter'], '%b %d %H:%M:%S %Y %Z') # 当前时间 current_date = datetime.utcnow() # 打印剩余天数 days_remaining = (expire_date - current_date).days return days_remaining # 测试函数,查看www.example.com的证书有效期 days_left = check_ssl_expiry('www.bfw.wiki') if days_left is not None: if days_left > 0: print(f"The SSL certificate will expire in {days_left} days.") else: print("The SSL certificate has expired or is about to expire.")
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?