我想知道是否可以将以下 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/