Python--H3C防火墙过期策略刷选

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)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值