可以直接给他一个开通了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.") 网友回复
如何修改别人发给我的微信笔记内容?
fbx、obj、glb三维格式模型如何在浏览器中通过three相互转换格式?
python如何实现基于http隧道加密的正向代理服务?
有没有有专门针对 UI 界面截图进行智能标记(Set-of-Mark, SoM) 的开源库和工具?
如何用python实现Set-of-Mark (SoM) 技术?
python如何截取windows指定应用的窗口截图,不用管窗口是不是在最前面?
linux能不能给rm删除命令增加回收站功能,可恢复被删文件?
bfwsoa如何在命令行中执行控制器动作器方法?
RAG(检索增强生成)和 KG(知识图谱)有啥不同?
KVM硬件是啥?


