为了账号安全,请及时绑定邮箱和手机立即绑定

cURL POST 请求不能像 python 请求一样工作

cURL POST 请求不能像 python 请求一样工作

慕盖茨4494581 2023-10-05 17:39:29
我有一个curlPOST 请求,它按预期在终端中返回 CSV。RJMetrcis文档中提供了以下格式(请参阅“导出图形数据”)。这是 bash 中的curl 请求:curl --data-raw "format=csv&includeColumnHeaders=1" -H "X-RJM-API-Key: myapikey" https://api.rjmetrics.com/0.1/figure/12345/export或者,使用-d代替--data-raw也可以但是,当借助之前在 Python 中使用的文章requests的帮助复制此内容时,会返回错误:url = "https://api.rjmetrics.com/0.1/figure/12345/export"payload = "'{\"format\":\"csv&includeColumnHeaders=1\"}'"headers = {  'X-RJM-API-Key': 'myapikey'}response = requests.request("POST", url, headers=headers, params=payload)response.text'{"Error":"Invalid Argument: CSV is currently the only supported format for SQL Reports"}'这是 API 返回的特定错误,指示未请求 CSV 格式(当-dbash 命令中省略时,会引发相同的错误)。然而,这两个请求在语法上是相同的。这里的 Python 问题可能是什么?是否有首选的参数传递方法?
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

import requests


data = {

    'format': 'csv',

    'includeColumnHeaders': 1

}


headers = {

    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',

    'X-RJM-API-Key': 'yourapi'

}



def main(url):

    r = requests.post(url, data=data, headers=headers)

    print(r)



main("https://api.rjmetrics.com/0.1/figure/12345/export")


查看完整回答
反对 回复 2023-10-05
  • 1 回答
  • 0 关注
  • 50 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信