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

如何将PagerDuty用户查询curl命令转为Python requests.get并解决过滤失效问题

正确的Python requests转换方法

你的问题出在对requests.get的params参数用法理解有误——--data-urlencode是curl的命令选项,不是API接口的参数名,requests会自动帮你处理URL编码,不需要手动指定这个选项。

正确的写法应该把team_ids以列表形式传入params,requests会自动将其编码为team_ids[]=abc的格式,和你原来的curl命令效果一致:

import requests

response = requests.get(
    'https://api.pagerduty.com/users',
    params={"team_ids": ["abc"]},
    headers={
        'Accept': 'application/vnd.pagerduty+json;version=2',
        'Authorization': 'Token token=xxx'
    }
)

为什么原来的写法无效?

你之前把"data-urlencode"作为参数键传给params,这会让请求的URL变成https://api.pagerduty.com/users?data-urlencode=team_ids%5B%5D%3Dabc,这显然不是PagerDuty API期望的参数格式,自然无法实现团队过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:03:17