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://ip/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://ip/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)