python3.x DNS轮训实例

import http.client
import os
import dns.resolver
iplist = []    #定义域名IP列表
appdomain = "www.goole.com.hk"  #定义域名

def get_iplist(domain=""):#域名解析函数,解析成功ip会追加到iplist
    try:
        A = dns.resolver.query(domain, 'A')
    except Exception as e:
        print ("dns resolver error:" + str(e))
        return
    for i in A.response.answer:
         for j in i.items:
             iplist.append(j.address) #追加到iplist
    return True
def checkip(ip):
     checkurl = ip + ":80"
     getcontent = "" 
     conn = http.client.HTTPConnection(checkurl, timeout=5) #定义http超时时间,并创建连接对象
     try:
        conn.request("GET", "/",headers = {"Host": appdomain})
        r = conn.getresponse()
        print ("this a conn.getresponse",r)
        getcontent = r.read()
        print ("15 char",getcontent)
     finally:
        if getcontent == "<!doctype html>":
            print(ip+" [OK]")
        else:
            print (ip +" [ERROR]")

if __name__=="__main__":
    if get_iplist(appdomain) and len(iplist)>0: #域名解析正确就返回IP
        for ip in iplist:
            checkip(ip)
    else:
            print("dns resolver error.")
 
 
结果如下
this a conn.getresponse <http.client.HTTPResponse object at 0x00000000031B9128>
15 char b'<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor="white">\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n'
185.53.178.9 [ERROR]
 
 
 
 
 
摘自python自动化运维 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值