python 从bulkblacklist信誉查询网站提交查询

复制代码
import urllib  
import urllib2  
#import webbrowser  
import re
import socket


def is_domain_in_black_list(domain, ip):
    try_time = 3
    url = "http://www.bulkblacklist.com/"  
    for i in range(try_time):
        try: 
            data = urllib.urlencode({'domains': domain})  
            results = urllib2.urlopen(url, data, timeout=30)  
            all_data = results.read()
            #with open("results.html", "w") as f:                
            #    f.write(all_data)                  
            #print all_data
            #webbrowser.open("results.html") 
            assert all_data.find(domain) >= 0
            search = re.compile(r'(\d+\.\d+\.\d+\.\d+)')  
            black_ip_list = search.findall(all_data)
            print black_ip_list
            return ip in black_ip_list
        except urllib2.URLError, e:  
            if isinstance(e.reason, socket.timeout):  
                print domain, "timeout:", e
            else:
                print domain, "err:",e 
    return False


def is_domain_access_normal(domain):
    try_time = 3
    for i in range(try_time):
        try:  
            url = "http://%s" % domain
            html = urllib2.urlopen(url, timeout=10).read()  
            #print url, html
            return True
        except urllib2.URLError, e:  
            if isinstance(e.reason, socket.timeout):  
                print "timeout:", e
            else:
                print "other err:",e
    return False

    
domain = "tojoycloud.org"
print "is_domain_in_black_list:", is_domain_in_black_list(domain, "1.1.2.3")
print "is_domain_access_normal:", is_domain_access_normal(domain)
复制代码

 

posted @   bonelee  阅读(410)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示