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

使用requests模块转curl请求为Python代码后遇“Access denied”错误

排查Python Requests请求Access Denied问题

嘿,我一眼就看到问题所在啦——你把curl里的请求头参数放错地方了!

核心错误原因

你写的代码里把Authorization放在了data参数里,但curl命令中的-H是用来设置HTTP请求头的,不是请求体的数据。requests库中传递请求头需要用headers参数,而不是data,这就是导致服务器返回"Access denied"的关键原因。

修正后的代码

import requests

# 正确传递请求头
response = requests.get(
    "http://blablabla.com",
    headers={'Authorization': f'Bearer {token}'}
)
# 解析响应内容
result = response.json()

额外排查要点

如果修正后还是有问题,可以检查这几点:

  • 确认token变量的取值完全正确,有没有多余的空格、拼写错误,比如Bearer后面的空格一定要保留
  • 对比curl和Python代码中的URL,确保完全一致(包括路径、大小写、查询参数等)
  • 可以打印请求的完整头信息,验证Authorization是否正确设置:
    print(response.request.headers)
    
  • 部分服务器会校验请求的User-Agent,你可以模拟curl的User-Agent来测试:
    headers = {
        'Authorization': f'Bearer {token}',
        'User-Agent': 'curl/7.68.0'  # 替换成你实际curl版本的User-Agent
    }
    response = requests.get("http://blablabla.com", headers=headers)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:45:02