• 可用性自动化V3


    #! /usr/bin/env python
    # coding=utf-8
    import requests
    import datetime
    import json
    import ssl
    import time
    
    today = datetime.date.today()
    timenow = datetime.datetime.now()
    
    
    inputcookie=raw_input('Enter Cookie:')
    cookie='PHPSESSID='+inputcookie
    def get_json():  # 获取事件中心第一条数据
        url = 'http://yunying.jiance.360.net/Statistics/getEventListPages?page=1&limit=5&start_time=%s+08%%3A30&end_time=%s+20%%3A30&status=3&type=monitor&_=0_153256687554390904' % (today, today)
        headers = {
            "Host": "yunying.jiance.360.net",
            "Accept": "application/json, text/javascript, */*; q=0.01",
            "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
            "Referer": "http://yunying.jiance.360.net/",
            "X-Requested-With": "XMLHttpRequest",
            "Cookie": cookie,
            "Connection": "keep-alive"
        }
        r = requests.get(url, headers=headers)
        json_data = r.content
        sf = open('getEventListPages.json', 'wb')
        sf.write(json_data)
        sf.close()
    def getHtml():
        try:
            url = affected_url
            data = requests.get(url,timeout=3,verify=False)
            status = data.status_code  # 取网站状态码
            forstatus=str(status)
            if '200' in forstatus:
                timenow = datetime.datetime.now()
                print 'Time:',timenow,'网站正常访问,更新状态为【已修复】'
                send_monitorRecover(urlid)
            else:
                print 'Time:',timenow,'状态码为:', status, "【不进行处理】"
        except Exception, e:
            print "未知错误"
    def send_monitorRecover(urlid):  # 发送已修复包
        url = 'http://yunying.jiance.360.net/Statistics/monitorRecover'
        payload = {"id": "%s" % urlid}
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0",
            "Host": "yunying.jiance.360.net",
            "Accept": "application/json, text/javascript, */*; q=0.01",
            "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
            "Accept-Encoding": "gzip, deflate",
            "Referer": "http://yunying.jiance.360.net/",
            "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
            "X-Requested-With": "XMLHttpRequest",
            "Content-Length": "12",
            "Cookie": cookie,
            "Connection": "keep-alive"
        }
        r = requests.post(url, data=payload, headers=headers)
        if '64cd' in r.text:
            print '当前时间:',timenow,'[已修复]'
        else:
            print '当前时间:',timenow,'[未成功]'
    
    
    
    while True:
        getjsondata = get_json()
        filename = 'getEventListPages.json'
        with open(filename) as f:
            json_data = json.load(f)
        for i in range(5):
            affected_url = json_data["data"]["list"][i]["affected_url"]
            urlid = json_data["data"]["list"][i]["id"]
            print 'URL:%s ID:%s' % (affected_url, urlid)
            time.sleep(3)
            getHtml()
  • 相关阅读:
    shell 字符串切分成数组
    RDD关键性能考量之 内存管理
    RDD关键性能考量之 序列化格式
    【转】Linux ln(link) 命令详解
    【转】redis配置认证密码
    【转】MongoDB 知识要点一览
    RDD关键性能考量之 并行度
    使用thumbnailator不按照比例,改变图片的大小
    Linux服务器redhat配置本地yum源
    Oracle表字段的增删改和重命名
  • 原文地址:https://www.cnblogs.com/cbreeze/p/9384903.html
Copyright © 2020-2023  润新知