需求:

最近项目到了一定阶段了,需要搞测试。

要求添加一定数量的设备,和定时任务。大概能有百十来个。

那么看了大概的流程,基本上就是往服务器提交 post 请求就可以实现。

那么我们开始吧。

# 包含库

# http 请求库,用于 get 和 post 请求
import requests
# json 的库,用来发送和解析 json 数据
import json
# 别发送太快,用来延时
import time

# 准备数据

# 准备数据
# Authorization 和 Cookie 经常变动,所以提出来
Authorization = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1ZTRlODRlLTM4YmItNGIzZC04OWM2LTAzZjUxOTkzYWFmOCJ9.afDD6YhU8j7imQHqyy9mEukaZkFGkDrvTgBf0_hNh-VOP4W-Zf8TQLJ-3VWpYvUViMGex29DhYAbfQ4zU5ua6A'
Cookie = 'Admin-Token=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1ZTRlODRlLTM4YmItNGIzZC04OWM2LTAzZjUxOTkzYWFmOCJ9.afDD6YhU8j7imQHqyy9mEukaZkFGkDrvTgBf0_hNh-VOP4W-Zf8TQLJ-3VWpYvUViMGex29DhYAbfQ4zU5ua6A; sidebarStatus=0'
# 很离谱 NULL 竟然提示我未定义
NULL=""
# 定义一个时和分,先随便初始化一哈
hour = 19
min = 30
# 获取你想要的开始时间和时间间隔
def getinputrule():
    global start_h
    global inv_m
    start_h = input("输入起始的时间,时")
    inv_m = input("输入间隔的时间,分钟")
# post 请求的链接
url = "http://139.196.207.98/prod-api/tms/task/group";
# post 请求需要的 json 格式的数据
data = {
    "id": NULL,
    "manageId": "217",
    "taskType": "cycle",
    "startTime": str(hour)+":"+str(min)+":00",
    "taskCycle": "1,3,2,4,5,6,7",
    "roomGkPath": "8,21,22,23,24|8,21,22,23,25|8,21,22,23,26",
    "createTime": NULL,
    "updateTime": NULL,
    "createBy": NULL,
    "updateBy": NULL
}
# 设置请求头 Authorization 是登录认证,Cookie 是辨别你身份的这两个每次登录都是会变的
headers = {
    'Accept':'application/json, text/plain, */*',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8',
    'Authorization':Authorization,
    'Connection':'keep-alive',
    'Content-Length':'209',
    'Content-type': 'application/json;charset=UTF-8',
    'Cookie':Cookie,
    'Host':'139.196.207.98',
    'Origin':'http://139.196.207.98',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
}

# 函数

# 把数字转为时间并前补 0
def timeformcheck(time):
    time_str = str(time)
    if len(time_str) < 2 : time_str = '0'+time_str
    return time_str
# 打印拼接的串
def printtimelist():
    # 从开始时间到 24 小时
    for h in range(int(start_h),24):
        # 从 0 分钟开始 每隔你输入的时间间隔自增
        for m in range(0,60,int(inv_m)):
            data["startTime"]=timeformcheck(h)+":"+timeformcheck(m)+":00"
            if m > 60 : break
            print(data["startTime"])
# 发送 post 请求
def sendpost():
    # 从开始时间到 24 小时
    for h in range(int(start_h),24):
        # 从 0 分钟开始 每隔你输入的时间间隔自增
        for m in range(0,60,int(inv_m)):
            data["startTime"]=timeformcheck(h)+":"+timeformcheck(m)+":00"
            if m > 60 : break
            print("开始发送:"+data["startTime"]+"\n")
            # 发送 POST 请求
            response = requests.post(url, data=json.dumps(data), headers=headers)
            # 打印响应结果
            print(response.content)
            time.sleep(1)

# 发送

# 开始吧
step = 0
while(1):
    # 第一步,获取输入的开始时间和时间间隔
    if step == 0:
        getinputrule()
        if start_h=="" or (int(start_h)<0) or (int(start_h)>24):
            print("您输入的数据是错误的!请输入0-24")
            step=0
            continue
        else:
            if inv_m=="" or (int(inv_m)<0) or (int(inv_m)>60):
                print("您输入的数据是错误的!请输入0-60")
                step=0
                continue
            else:
                step+=1
    # 第二步,打印出组合的队列
    if step == 1:
        printtimelist()
        step+=1
        cmd = input("是否继续?输入N退出。其他任意键继续!")
        if cmd == "N" or cmd == "n":
            break
    # 第三步,发送
    if step == 2:
        sendpost()
        step+=1
    # 第四步,是否继续
    if step == 3:
        cmd = input("\n发送完毕!是否继续?N/n退出,任意键继续\n")
        if cmd == "N" or cmd == "n":
            break
        else:
            step=0

# 完整代码

###########################---1---###################################
# http 请求库,用于 get 和 post 请求
import requests
# json 的库,用来发送和解析 json 数据
import json
# 别发送太快,用来延时
import time
###########################---2---###################################
# 准备数据
# Authorization 和 Cookie 经常变动,所以提出来
Authorization = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1ZTRlODRlLTM4YmItNGIzZC04OWM2LTAzZjUxOTkzYWFmOCJ9.afDD6YhU8j7imQHqyy9mEukaZkFGkDrvTgBf0_hNh-VOP4W-Zf8TQLJ-3VWpYvUViMGex29DhYAbfQ4zU5ua6A'
Cookie = 'Admin-Token=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1ZTRlODRlLTM4YmItNGIzZC04OWM2LTAzZjUxOTkzYWFmOCJ9.afDD6YhU8j7imQHqyy9mEukaZkFGkDrvTgBf0_hNh-VOP4W-Zf8TQLJ-3VWpYvUViMGex29DhYAbfQ4zU5ua6A; sidebarStatus=0'
# 很离谱 NULL 竟然提示我未定义
NULL=""
# 定义一个时和分,先随便初始化一哈
hour = 19
min = 30
# 获取你想要的开始时间和时间间隔
def getinputrule():
    global start_h
    global inv_m
    start_h = input("输入起始的时间,时")
    inv_m = input("输入间隔的时间,分钟")
# post 请求的链接
url = "http://139.196.207.98/prod-api/tms/task/group";
# post 请求需要的 json 格式的数据
data = {
    "id": NULL,
    "manageId": "217",
    "taskType": "cycle",
    "startTime": str(hour)+":"+str(min)+":00",
    "taskCycle": "1,3,2,4,5,6,7",
    "roomGkPath": "8,21,22,23,24|8,21,22,23,25|8,21,22,23,26",
    "createTime": NULL,
    "updateTime": NULL,
    "createBy": NULL,
    "updateBy": NULL
}
# 设置请求头 Authorization 是登录认证,Cookie 是辨别你身份的这两个每次登录都是会变的
headers = {
    'Accept':'application/json, text/plain, */*',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8',
    'Authorization':Authorization,
    'Connection':'keep-alive',
    'Content-Length':'209',
    'Content-type': 'application/json;charset=UTF-8',
    'Cookie':Cookie,
    'Host':'139.196.207.98',
    'Origin':'http://139.196.207.98',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
}
##########################---3---#####################################
# 把数字转为时间并前补 0
def timeformcheck(time):
    time_str = str(time)
    if len(time_str) < 2 : time_str = '0'+time_str
    return time_str
# 打印拼接的串
def printtimelist():
    # 从开始时间到 24 小时
    for h in range(int(start_h),24):
        # 从 0 分钟开始 每隔你输入的时间间隔自增
        for m in range(0,60,int(inv_m)):
            data["startTime"]=timeformcheck(h)+":"+timeformcheck(m)+":00"
            if m > 60 : break
            print(data["startTime"])
# 发送 post 请求
def sendpost():
    # 从开始时间到 24 小时
    for h in range(int(start_h),24):
        # 从 0 分钟开始 每隔你输入的时间间隔自增
        for m in range(0,60,int(inv_m)):
            data["startTime"]=timeformcheck(h)+":"+timeformcheck(m)+":00"
            if m > 60 : break
            print("开始发送:"+data["startTime"]+"\n")
            # 发送 POST 请求
            response = requests.post(url, data=json.dumps(data), headers=headers)
            # 打印响应结果
            print(response.content)
            time.sleep(1)
##########################---4---#####################################
# 开始吧
step = 0
while(1):
    # 第一步,获取输入的开始时间和时间间隔
    if step == 0:
        getinputrule()
        if start_h=="" or (int(start_h)<0) or (int(start_h)>24):
            print("您输入的数据是错误的!请输入0-24")
            step=0
            continue
        else:
            if inv_m=="" or (int(inv_m)<0) or (int(inv_m)>60):
                print("您输入的数据是错误的!请输入0-60")
                step=0
                continue
            else:
                step+=1
    # 第二步,打印出组合的队列
    if step == 1:
        printtimelist()
        step+=1
        cmd = input("是否继续?输入N退出。其他任意键继续!")
        if cmd == "N" or cmd == "n":
            break
    # 第三步,发送
    if step == 2:
        sendpost()
        step+=1
    # 第四步,是否继续
    if step == 3:
        cmd = input("\n发送完毕!是否继续?N/n退出,任意键继续\n")
        if cmd == "N" or cmd == "n":
            break
        else:
            step=0
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

flechazo 微信支付

微信支付

flechazo 支付宝

支付宝

flechazo 贝宝

贝宝