首页 > 代码库 > 调用ZoomEye API获取信息
调用ZoomEye API获取信息
最近在提高自己编程能力,拿一些实用的小工具练下。该脚本为python语言,主要涉及模块urllib,json,os模块。
功能:调用ZoomEye API获取信息
import urllib.request import json import os def login(): username = input("username:") password = input("password:") url = "https://api.zoomeye.org/user/login" data = json.dumps({‘username‘:username,‘password‘:password}) data_bytes = bytes(data,‘utf8‘) try: req = urllib.request.Request(url,data_bytes) response = urllib.request.urlopen(req) html = response.read().decode(‘utf-8‘) target = json.loads(html) access_token = target[‘access_token‘] with open(‘access_token.txt‘,‘w‘) as f: f.write(access_token) f.close print(‘login seccess !!!‘) #print(‘your access_token is:%s‘%(access_token)) except Exception as err: print(‘[info]:username or password is wrong !‘) def apiget(): while True: host_or_web = input("search for host or web:(‘q!’Sign out):") if host_or_web == ‘q!‘: break query = input("input your keyword(-r for your resources-info):") #查看自己的套餐剩余量 if query == ‘-r‘: req = urllib.request.Request(‘https://api.zoomeye.org/resources-info‘) ida = open(‘access_token.txt‘).read() req.add_header(‘Authorization‘,‘JWT %s‘%(ida)) re = urllib.request.urlopen(req) ae = (re.read().decode(‘utf-8‘)) ae = target = json.loads(ae) dict_web = ae[‘resources‘][‘web-search‘] dict_host = ae[‘resources‘][‘host-search‘] print(‘your web search:%s‘%(dict_web)) print(‘your host search:%s‘%(dict_host)) else: try:
req = urllib.request.Request(‘https://api.zoomeye.org/%s/search?query=%s‘%(host_or_web,query)) idb = open(‘access_token.txt‘).read() req.add_header(‘Authorization‘,‘JWT %s‘%(idb)) r = urllib.request.urlopen(req) a = (r.read().decode(‘utf-8‘)) a = target = json.loads(a) print(‘tatal:%s‘%(a[‘total‘])) for i in range(len(a[‘matches‘])): print (a[‘matches‘][i][‘ip‘]) except Exception as err: print(‘[erro]:Please enter the correct syntax !‘) def start(): if not os.path.isfile(‘access_token.txt‘): #首次使用会检查脚本目录下access_token.txt文件,没有的话登录会创建 print(‘[info]:you need login‘) login() apiget() if __name__ == ‘__main__‘: start()
调用ZoomEye API获取信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。