python 获取域名到期时间的方法步骤

需求:

我要查询百度域名的到期时间或者开始时间

思路分析:

如果在linux系统中直接使用下面命令即可:

echo | openssl s_client -servername www.baidu.com -connect www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates|egrep ‘notAfter'|awk -F'=|GMT' ‘{print $2}'

但是这个命令使用python2 的commands执行不成功,所以只能换成通过shell脚本去执行。

init_sh函数检查shell脚本不存在则创建,这样不需要多写一个脚本,有程序生成。

#!/usr/bin/python
# -*- coding: utf-8 -*-
# author: chentufeng
# create time: 2020 12 25
import commands,os
script_sh = ".tmp.sh"
# 自动生成shell脚本用来执行shell命令获取时间
def init_sh():
  if not os.path.exists(script_sh):
    with open(script_sh, 'w') as file_object:
      file_object.write("yuming=$1\ntag=$2\n"
      "ymtime=`echo | openssl s_client -servername $yuming -connect $yuming:443 2>/dev/null | openssl x509 -noout -dates|egrep \"$tag\"|awk -F'=|GMT' '{print $2}'`\n"
      #时间转换,如果需要也可以转换成其他格式
      "date -d \"$ymtime\" '+%Y-%m-%d %H:%M:%S'\n")
if __name__ == '__main__':
  #初始化函数
  init_sh()
  yuming = "www.baidu.com"
  tag = "notBefore" #notBefore 开始时间;notAfter 到期时间
  cmd = "sh %s %s %s"%(script_sh, yuming, tag)
  restatus,retime = commands.getstatusoutput(cmd)
  print("获取的时间:%s"%retime)

输出结果:

到期时间
[root@测试机 ~]# python aa.py
获取的时间:2021-07-26 05:31:02
开始时间
[root@测试机 ~]# python aa.py
获取的时间:2020-04-02 07:04:58

到此这篇关于python 获取域名到期时间的方法步骤的文章就介绍到这了,更多相关python 获取域名到期时间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 域名分析工具实现代码

    代码如下: 复制代码 代码如下: import sys, urllib import datetime,time def getDate(): strday=datetime.datetime.now().__str__() strday=strday.split()[0] return strday #url = "http://www.kingnic.com/list/2009-06-16.txt" def getUrl(dateStr=None): baseUrl ="

  • Python实现获取域名所用服务器的真实IP

    本来是要写个程序用的,没写完不写了,这一部分就贴出来吧 验证域名和IP class JianKong(): '''查询IDC信息,封ip和过白名单''' def __init__(self): pass @classmethod def ip_verify(cls,str): '验证IP地址规范' pattern=re.compile('(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|

  • Python基于whois模块简单识别网站域名及所有者的方法

    本文实例讲述了Python基于whois模块简单识别网站域名及所有者的方法.分享给大家供大家参考,具体如下: 对于一些网站,我们可能会关心其所有者是谁.为了找到网站的所有者,我们可以使用WHOIS协议查询域名的注册者是谁.Python中有一个对该协议的封装库.我们可以通过pip进行安装. pip install python-whois 补充:本机安装了Python2与Python3两个版本,这里就使用了pip2安装python-whois模块,如下图所示: 本机Python3环境下适用pip3

  • Python批量查询域名是否被注册过

    step1. 找一个单词数据库 这里有一个13万个单词的 http://download.csdn.net/detail/u011004567/9675906 新建个mysql数据库words,导入words里面就行 step2.找个查询接口 这里我用的是http://apistore.baidu.com/astore/serviceinfo/27586.html step3. 执行Python脚本 # -*- coding: utf-8 -*- ''' 域名注册查询 ''' __author_

  • Python 实现域名解析为ip的方法

    今天得了一批域名,需要把域名解析成ip 因为量比较大所以采用了多进程和队列的方式 from multiprocessing import Process,Queue,Pool import socket import multiprocessing import os #写入文件 def write(q,lock,filename): while not q.empty(): url = q.get() print (url) try: ip = socket.gethostbyname(url

  • Python实现通过解析域名获取ip地址的方法分析

    本文实例讲述了Python实现通过解析域名获取ip地址的方法.分享给大家供大家参考,具体如下: 从网上查找的一些资料,特此做个笔记 案例1: def getIP(domain): myaddr = socket.getaddrinfo(domain, 'http') print(myaddr[0][4][0]) 执行函数 getIP("www.google.com") 案例2: def get_ip_list(domain): # 获取域名解析出的IP列表 ip_list = [] t

  • Python的Flask框架中配置多个子域名的方法讲解

    Flask子域名 一般用于数量比较少的子域名,一个模块对应一个子域名.先看下面一个例子: modules.py: from flask import Blueprint public = Blueprint('public', __name__) @public.route('/') def home(): return 'hello flask' app.py: app = Flask(__name__) app.config['SERVER_NAME'] = 'example.com' fr

  • Python实现从url中提取域名的几种方法

    从url中找到域名,首先想到的是用正则,然后寻找相应的类库.用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等.通过google查到几种方法,一种是用Python中自带的模块和正则相结合来解析域名,另一种是使第三方用写好的解析模块直接解析出域名. 要解析的url 复制代码 代码如下: urls = ["http://meiwen.me/src/index.html",           "http://1000chi.com/game/index.htm

  • 利用Python+阿里云实现DDNS动态域名解析的方法

    引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应的IP是可以动态变化的.那这个有什么用呢? 比如,在家里的路由器上连着一个raspberry pi(树莓派),上面跑着几个网站,我应该如和在外网环境下访问网站.登陆树莓派的SSH呢? 还有,家里的NAS(全称Network Attach Storage 网络附属存储,可以理解为私有的百度网盘)上存储

  • Python脚本实现DNSPod DNS动态解析域名

    闲暇之余,在家里自建了个服务器,因为用的小区宽带,IP位动态分配.域名解析就是个问题,我的域名一般停放在DNSPod下.DNSPod有提供修改的API,就用Python简单的实现了一下动态解析.这样,就不用安装花生壳了. 废话不说,看代码: #!/usr/bin/env python #-*- coding:utf-8 -*- import httplib, urllib, urllib2 import time import sys,os import re import json usern

  • Python的Flask框架中SERVER_NAME域名项的配置教程

    Flask中的SERVER_NAME主要做两件事: 协助Flask在活动的请求(request)之外生成绝对URL(比如邮件中嵌入网站URL) 用于子域名支持 很多人误以为它可以做这两件事之外的其它事情. 一.第一件事:绝对URL 我们知道,url_for默认情况下是生成相对URL,它有个参数_external,如果设置为真,则会生成一个绝对URL(就是HTTP开头带域名等信息的).若不指定SERVER_NAME,默认使用当前活动的请求(request)来生成URL. 下面举个例子演示一下: #

随机推荐