无需重复登录多次验证token及coupon码的实现方案咨询
问题说明
我的脚本当前执行两个步骤:
- 步骤1:登录应用程序
- 步骤2:验证CSV文件中的coupon优惠码
问题描述
我在URL中输入coupon码后会返回如下结果,我希望当coupon码返回无效时,无需退回重新登录,直接验证下一个coupon码。
返回规则:
{"Valid"}代表有效Token码{"InValid"}代表无效Token码
参考图示
测试方案

CSV文件示例

实现方案
核心是复用登录后的会话对象,全程只做一次登录操作,后续所有coupon校验都用同一个会话发起请求,会话会自动保留登录态的cookies、鉴权信息,不需要重复登录。
以下是Python实现示例:
import requests import csv # 初始化会话,全局复用 sess = requests.Session() # 仅执行一次登录 login_url = "替换为实际登录接口地址" login_params = { "username": "你的账号", "password": "你的密码" } login_res = sess.post(login_url, json=login_params) # 按需添加登录成功校验逻辑 if login_res.status_code != 200: print("登录失败,退出脚本") exit() # 遍历CSV校验所有coupon check_url_prefix = "替换为coupon校验接口地址" valid_list = [] invalid_list = [] with open("你的coupon文件路径.csv", "r", encoding="utf-8-sig") as f: csv_reader = csv.reader(f) # 如果CSV第一行是表头,取消下面一行的注释 # next(csv_reader) for line in csv_reader: coupon_code = line[0].strip() # 按实际接口传参方式调整,这里示例是query参数传入coupon check_res = sess.get(f"{check_url_prefix}?coupon={coupon_code}") if '{"Valid"}' in check_res.text: valid_list.append(coupon_code) print(f"[有效] {coupon_code}") else: invalid_list.append(coupon_code) print(f"[无效] {coupon_code}") # 输出结果汇总 print(f"校验完成:有效coupon共{len(valid_list)}个,无效coupon共{len(invalid_list)}个")
内容的提问来源于stack exchange,提问作者user17071521
相关产品推荐
相关产品推荐

