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

如何将列表值传入子函数,遍历拼接URL发起PUT请求

问题原因

你编写的代码无法运行的核心原因是:直接对字符串类型的URL前缀和列表类型的rft_id_list执行了拼接操作,Python不支持字符串与列表直接相加。

最优实现方案

遍历rft_id_list中的每一个ID值,逐个拼接生成目标URL后发起PUT请求即可,推荐使用f-string做字符串拼接,写法更简洁易读。

基础可用版本

import requests
import json

def send_put_requests(rft_id_list, headers):
    base_url = 'https://domain/api/link/'
    for rft_id in rft_id_list:
        # 拼接生成完整请求URL
        target_url = f"{base_url}{rft_id}"
        # 按接口要求调整PUT请求的请求体参数
        put_payload = json.dumps({"请求字段": "对应参数值"})
        # 发起PUT请求
        response = requests.request("PUT", target_url, headers=headers, data=put_payload)
        # 按需处理响应结果
        print(f"ID为{rft_id}的请求完成,响应状态码:{response.status_code}")

增强健壮性的优化版本

增加异常捕获逻辑,避免单个ID请求失败导致整个遍历任务终止:

import requests
import json

def send_put_requests(rft_id_list, headers):
    base_url = 'https://domain/api/link/'
    for rft_id in rft_id_list:
        try:
            target_url = f"{base_url}{rft_id}"
            put_payload = json.dumps({"请求字段": "对应参数值"})
            # 增加超时设置,避免请求长时间卡住
            response = requests.request("PUT", target_url, headers=headers, data=put_payload, timeout=10)
            # 自动校验HTTP请求状态是否异常
            response.raise_for_status()
            print(f"ID为{rft_id}的请求成功,响应内容:{response.json()}")
        except requests.exceptions.RequestException as e:
            print(f"ID为{rft_id}的请求失败,错误信息:{str(e)}")

注意事项

  • 代码中的PUT请求请求体可根据你的接口实际要求调整
  • 如果接口要求URL路径末尾带斜杠,将拼接逻辑修改为target_url = f"{base_url}{rft_id}/"即可
  • 可根据实际业务需求调整timeout参数的超时时间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:48:04