h3c获取的策略信息不是标准的json,故在此利用re来刷选信息 import requests import re import datetime,time headers_1 = { "Accept-Encoding": "gzip,deflate", "Authorization": "Basic 密码隐藏", "Content-Type": "application/json", "User-Agent": "Apache-HttpClient/4.1.1 (java 1.5)", } url = "http://防火墙i/api/v1/tokens" req = requests.post(url, headers=headers_1) token_kye_dictV = req.json().get('token-id') headers_2 = { "Accept-Encoding": "gzip,deflate", "X-Auth-Token": token_kye_dictV, # 请求中需要在请求中携带返回的token-id,放在 X-Auth-Token 中 'Content-Type': 'application/json', 'accept-language': 'zh-CN', "User-Agent": "Apache-HttpClient/4.1.1 (java 1.5)", } ipadd = "http://防火墙ip/api/v1/" nu = 0 now_time = datetime.datetime.now().strftime('%Y-%m-%d') now_time_geshihua = time.mktime(time.strptime(now_time, "%Y-%m-%d")) # sec_url = "http://防火墙ip/api/v1/SecurityPolicies/QueryRules" # sec_url = "http://防火墙i/api/v1/SecurityPolicies/GetRules" #查看全部策略3404页 sec_url = "{}SecurityPolicies/IPv4Rules".format(ipadd) #查看全部策 sec_data = requests.get(sec_url, headers=headers_2).text Sec_data_TimeRange = re.findall(r"(\"TimeRange\":\"\w.*?\")(.*?)(\"RuleName\":\"\w.*?\")", sec_data) for i in Sec_data_TimeRange: TimeR_RuleN = list(i[0:1]+i[-1:]) Time_Number,danhao = re.findall(r"\":\"(.*?)\"",TimeR_RuleN[0]),re.findall(r"\":\"(.*?)\"",TimeR_RuleN[1]) Time_Number,danhao = "".join(Time_Number),"".join(danhao) # print('时间序号:',Time_Number,' 单号:',danhao) # print(type(Time_Number),'+++++++++++++++++++++++++++++++++++++++++++++++++') # print(Time_Number) # #获取时间信息 3879 Get_time_url = "{}TimeRange/AbsRanges".format(ipadd) date_time = requests.get(Get_time_url, headers=headers_2).text Sec_data_TimeN = re.findall(r"(\"TimeRangeName\":\"\w.*?\")(.*?)(\"EndDate\":\"\w.*?\")", date_time) nu += 1 for i in Sec_data_TimeN: TimeN = i[0]+i[-1] TimeN = re.findall(r"\":\"(.*?)\"",TimeN) fhq_time = time.mktime(time.strptime(TimeN[1], "%Y-%m-%d")) if Time_Number == TimeN[0]: if now_time_geshihua > fhq_time: retu =(nu,"、过期策略","时间对象名称:",TimeN[0],'策略最后时间',TimeN[1],'IT单号:--->',danhao).__str__() print(retu) # with open(now_time +"过期策略.txt","w",encoding="gbk") as f: # f.write(retu) # else: # print(nu,"、---------------》正常策略,未过期",TimeN[0],'最后时间',TimeN[1],'单号:',danhao)
Python--H3C防火墙过期策略刷选
最新推荐文章于 2024-05-30 18:05:01 发布