You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python循环执行CURL请求直到输出数值匹配指定值?

Python实现循环调用接口直到数值匹配

实现思路

直接用Python的requests库发送POST请求(替代curl命令,更易处理响应和解析数据),循环执行请求直到返回的随机数值与目标值1234567相等。

步骤1:安装依赖

先安装requests库:

pip install requests

步骤2:完整代码实现

import requests
import re
import time

TARGET_NUMBER = 1234567
URL = "http://xyz.website"
HEADERS = {
    "accept": "application/json",
    "Content-Type": "application/x-www-form-urlencoded"
}
DATA = {"number": str(TARGET_NUMBER)}

while True:
    try:
        # 发送POST请求
        response = requests.post(URL, headers=HEADERS, data=DATA)
        response.raise_for_status()  # 捕获HTTP请求错误
        
        # 解析响应文本,提取随机数值
        response_text = response.text.strip().strip('"')
        # 用正则匹配数字部分,适配给定的响应格式
        match = re.search(r"not equal (\d+)", response_text)
        if not match:
            print("无法解析响应内容,跳过本次请求")
            time.sleep(1)
            continue
        
        random_number = int(match.group(1))
        print(f"当前随机数值:{random_number}")
        
        # 对比数值,相等则退出循环
        if random_number == TARGET_NUMBER:
            print("数值匹配成功,退出循环")
            break
        
        # 避免请求过于频繁,设置1秒延迟
        time.sleep(1)
        
    except requests.exceptions.RequestException as e:
        print(f"请求出错:{e}")
        time.sleep(2)  # 出错后延迟2秒再重试

代码说明

  • 请求构造:完全对应原curl的请求参数,包括URL、请求头和表单数据
  • 响应解析:用正则表达式精准提取输出中的随机数值,适配给定的响应格式
  • 异常处理:捕获HTTP请求异常,避免程序崩溃,出错后自动重试
  • 流量控制:加入延迟时间,防止短时间内发送大量请求给服务器造成压力

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:55:18