python - 将curl转换为python

标签 python curl

我想知道是否可以将以下 OpenFIGI API 命令转换为 python:

curl -v -X POST 'https://api.openfigi.com/v1/mapping'   \
     --header 'Content-Type: text/json'             \
     --data '[{"idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"}]'

我尝试了以下方法:

import requests
data = {["idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"]}
r=requests.post('https://api.openfigi.com/v1/mapping', headers={"Content-Type": "text/json"},data=data)

但是 r 得到的值是“Response [400]”。根据介绍页https://www.openfigi.com/api#introduction ,这标识了“请求正文不是数组”的场景。我对curl真的很陌生,任何建议都会有帮助。

最佳答案

第一个 api 需要对象数组,而不是带有数组的对象(甚至是无效的 json),所以正确的是:

data = [{"idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"}]

第二 - api 需要 json,因此使用 json 参数,而不是数据

r=requests.post('https://api.openfigi.com/v1/mapping',
                headers={"Content-Type": "text/json"},
                json=data)

关于python - 将curl转换为python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583604/

相关文章:

python - Python 3 中的正则表达式

python - 用户 'root' @'localhost' 使用密码 : NO 的访问被拒绝

java - 如何从 Jersey servlet中的curl请求中提取参数?

php - 如何通过 cURL 发布数组字段数据?

iOS curl -X POST 集成在 swift 中

php - 使用 PHP fopen 和/或 cURL 下载外部文件

json - cURL 和错误 411(内容长度)

python - 断言使用多个参数中的一个参数调用了一个方法

Python 在 macOS 上获取 GPS 位置

python - 将字典列表合并为单个字典,为公共(public)键添加值