(随手记)python 获取https-证书过期时间

from urllib3.contrib import pyopenssl
def get_expire(https_url):
    try:
        conn = pyopenssl.ssl.create_connection((https_url, 443))
        sock = pyopenssl.ssl.SSLContext(pyopenssl.ssl.PROTOCOL_SSLv23).wrap_socket(conn, server_hostname=https_url)
        cert = pyopenssl.ssl.DER_cert_to_PEM_cert(sock.getpeercert(True))
        data = pyopenssl.OpenSSL.crypto.load_certificate(pyopenssl.OpenSSL.crypto.FILETYPE_PEM, cert)
        print(data.get_notAfter().decode()[0:-1])
        expire_time = datetime.datetime.strptime(data.get_notAfter().decode()[0:-1], '%Y%m%d%H%M%S')
        expire_days = (expire_time - datetime.datetime.now()).days
        return True, {"expire_time": str(expire_time), "expire_days": expire_days}
    except Exception as e:
        print(e)
        return False, {}

使用方法:
is_suc, ssl_expire_dict = get_expire(“www.baidu.com”)
返回结果:
print(is_suc) # True
print(ssl_expire_dict) # {“expire_time”: “2022-08-02 01:16:03”, “expire_days”: 292}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

day>day>up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值