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

conn.request()拼接URL参数时“字段必须为整数”报错的解决方法

问题根因

当前拼接生成的接口路径实际效果是/fixtures?season=2020&team==33,和预期的/fixtures?season=2020&team=33差了一个等号。
原因是调用urlencode时传入的字典键是空字符串"",该函数的编码规则是将字典的键值对拼接为键=值格式,空键自然会生成=33的字符串内容,和前面硬编码的team=拼接后就形成了team==33的错误参数。
接口解析时拿到的team参数值是字符串=33,不符合整数格式要求,因此抛出对应参数错误。

正确实现方式
  • 推荐全参数统一编码:把硬编码的查询参数和动态变量全部放入字典,交由urlencode统一处理,避免手动拼接的格式错误:
query_params = {"season": "2020", "team": required_id}
request_path = "/fixtures?" + urlencode(query_params)
r1 = conn.request("GET", request_path, headers=headers)

这种方式无需手动处理特殊字符转义,也不会出现键值对不匹配的拼接问题。

  • 若需要保留已有硬编码的路径片段,无需调用urlencode处理单个整数值,直接将整数类型的team_id转为字符串拼接即可:
r1 = conn.request("GET", "/fixtures?season=2020&team=" + str(required_id), headers=headers)
  • 需要规避的错误用法:不要给urlencode传入空键的字典,否则必然生成={值}格式的无键内容,造成拼接错位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 18:36:06