在Python请求库的标头中使用JSON

时间:2018-09-03 14:29:15

标签: python-requests dropbox-api

我想向希望在Header字段中发送JSON的API发出请求。我无法在Python请求库中执行此操作。 我可以在cURL中做到这一点。

cURL代码:

curl -v -X POST https://content.dropboxapi.com/2/files/download
--header "Authorization: Bearer abcdefgh12343567"
--header "Dropbox-API-Arg: {\"path\": \"/folder/file.mp4\"}" -o file.mp4

Python代码:

import requests
import simplejson

r = requests.post(
        'https://content.dropboxapi.com/2/files/download', 
        headers={
            'Authorization':'Bearer abcdefgh12343567', 
            'Dropbox-API-arg': simplejson.dumps({'path': '/folder/file.mp4'})
}) 

此处标头包含JSON字符串。 我正在尝试使用记录在here中的Dropbox的files/download API。

即使发送了请求,JSON值似乎还是错误的。

1 个答案:

答案 0 :(得分:0)

上面的代码现在似乎可以正常工作。我不确定发生了什么-我早些时候收到HTTP 409 error

我对Python Requests Library如何处理标头内的JSON字符串感到怀疑。因此,我创建了一个API,以查看服务器如何读取由cURLPython Requests制作的标头。两个标头都相同。