一、由于线上域名证书快要过期,需要进行监测,顾写了一个方法用于线上证书过期监测,如下:

  1. import ssl,socket,pprint
  2.  
  3. def check_domain_sslexpired(domain):
  4. context = ssl.create_default_context()
  5. context.verify_mode = ssl.CERT_REQUIRED
  6. context.check_hostname = True
  7. context.load_verify_locations("/private/tmp/creditupdate/jyall.crt")
  8. conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=domain)
  9. conn.connect((domain, 443))
  10. cert = conn.getpeercert()
  11. return '{0}\t{1}\t{2}'.format(domain, cert['issuer'][2][0][1], cert['notAfter'])
  12.  
  13. def main():
  14. print check_domain_sslexpired("www.jyall.com")
  15. if __name__ == '__main__':
  16. main()

输出=>

  1. www.jyall.com GlobalSign Organization Validation CA - SHA256 - G2 Apr 11 05:16:03 2019 GMT

二、由于域名数量特别地多,所以需要使用集合进行对已经更新的和未更新的域名进行统计

  1. #!/usr/bin/env python
  2. #coding:utf-8
  3.  
  4. def diff(listA,listB):
  5. #求交集的两种方式
  6. retA = [i for i in listA if i in listB]
  7. retB = list(set(listA).intersection(set(listB)))
  8.  
  9. print "retA is: ",retA
  10. print "retB is: ",retB
  11.  
  12. #求并集
  13. retC = list(set(listA).union(set(listB)))
  14. print "retC1 is: ",retC
  15.  
  16. #求差集,在B中但不在A中
  17. retD = list(set(listB).difference(set(listA)))
  18. print "retD is: ",retD
  19.  
  20. retE = [i for i in listB if i not in listA]
  21. print "retE is: ",retE
  22.  
  23. def main():
  24. listA = [1,2,3,4,5]
  25. listA1 = [3,4,5]
  26. listB = [3,4,5,6,7]
  27. diff(listA,listB)
  28.  
  29. if __name__ == '__main__':
  30. main()

输出:

  1. retA is: [3, 4, 5]
  2. retB is: [3, 4, 5]
  3. retC1 is: [1, 2, 3, 4, 5, 6, 7]
  4. retD is: [6, 7]
  5. retE is: [6, 7]

012_py之证书过期监测及域名使用的py列表的并集差集交集的更多相关文章

  1. ssl证书过期问题

    问题:linux服务器ssl证书过期,申请新证书后,也更换了服务器的证书,但是网页一直提示证书过期 解决:经分析后,发现服务器架构为waf->slb->esc,域名并未直接解析到slb,解 ...

  2. k8s集群证书过期(kubeadm 1.10.2 )

    1.k8s 集群架构描述 kubeadm v1.10.2创建k8s集群. master节点高可用,三节点(10.18.60.3.10.18.60.4.10.18.60.5). LVS实现master三 ...

  3. zabbix监控ssl证书过期时间

    获取证书过期时间脚本: /etc/zabbix/scripts/check-cert-expire.sh: #!/bin/bash host=$ port=$ end_date=`/usr/bin/o ...

  4. 阿里云ssl证书过期怎么解决 (免费SSL证书) 三步解决

    阿里云ssl证书过期怎么解决(免费SSL证书),三步解决 使用免费的SSL证书网站  https://ohttps.com 1.注册帐号 2.申请证书 3.部署到阿里云 4.注意事项 1.注册帐号 到 ...

  5. 证书过期-->app审核提示90034证书错误

    1.证书过期问题,去钥匙串中删除过期证书,然后新下载一个证书,重新添加,注:一定要把所有过期证书全部删除,如果不显示则点击钥匙串-->显示过期证书 然后下载新证书:https://develop ...

  6. (苹果AppleWWDRCA.cer证书过期)Failed to locate or generate matching signing assets

    从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets 字数462 阅读13571 评论16 喜欢61 ...

  7. ASP - MSXML2.ServerXMLHTTP & HTTPS & 证书过期 — msxml3.dll '80072f05'

    Error: msxml3.dll  '80072f05' The date in the certificate is invalid or has expired Dim xmlhttp Set ...

  8. CA证书过期

    CA证书问题请教!最近在客户这里做Exchange2010及RMS项目,对当前Ca证书颁发机构的环境做了下勘察和调研,发现有些地方出现警号显示过期,不知道会不会影响Exchange和Adrms的集成部 ...

  9. Splunk < 6.3 版本 SSL 证书过期事宜

    最近Splunk发出邮件提醒客户SSL证书过期事宜. 问题看起来比较严重,因为所有的实例,包括 forwarder\peernode\indexer\master node 等等都受影响,而且Depl ...

随机推荐

  1. Java基础11:Java泛型详解

    本文对java的泛型的概念和使用做了详尽的介绍. 本文参考https://blog.csdn.net/s10461/article/details/53941091 具体代码在我的GitHub中可以找 ...

  2. Linux系统的数据写入机制--延迟写入

    我们都知道,在Linux关机的之前都会要运行一个命令那就是sync,这个命令是同步的意思,那为什么要运行这个?而且之前的数据改变我们已经看见了,为什么还要运行这个命令?要回答这个问题就要说一下Linu ...

  3. Docker系列04—Docker的网络模式详解

    本文收录在容器技术学习系列文章总目录 1.Docker的四种网络模式 (1)docker四种网络模式如下: Bridge contauner   桥接式网络模式 Host(open) containe ...

  4. 组合模式 合成模式 COMPOSITE 结构型 设计模式(十一)

    组合模式(合成模式 COMPOSITE) 意图 将对象组合成树形结构以表示“部分-整体”的层次结构. Composite使得用户对单个对象和组合对象的使用具有一致性.   树形结构介绍 为了便于理解, ...

  5. 流式大数据计算实践(7)----Hive安装

    一.前言 1.这一文学习使用Hive 二.Hive介绍与安装 Hive介绍:Hive是基于Hadoop的一个数据仓库工具,可以通过HQL语句(类似SQL)来操作HDFS上面的数据,其原理就是将用户写的 ...

  6. Spring Boot 2.x (十二):Swagger2的正确玩儿法

    Swagger2简介 简单的来说,Swagger2的诞生就是为了解决前后端开发人员进行交流的时候API文档难以维护的痛点,它可以和我们的Java程序完美的结合在一起,并且可以与我们的另一开发利器Spr ...

  7. Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换

    本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...

  8. Django 系列博客(十二)

    Django 系列博客(十二) 前言 本篇博客继续介绍 Django 中的查询,分别为聚合查询和分组查询,以及 F 和 Q 查询. 聚合查询 语法:aggregate(*args, **kwargs) ...

  9. MySQL 8.0版本连接报错:Could not create connection to database server.

    准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直 ...

  10. [C# 设计模式] Iterator - 迭代器模式:我与一份奥利奥早餐的故事

    Iterator - 迭代器模式 目录 前言 回顾 UML 类图 代码分析 抽象的 UML 类图 思考 前言 这是一包奥利奥(数组),里面藏了很多块奥利奥饼干(数组中的元素),我将它们放在一个碟子上慢 ...