我需要将包含令牌的POST传递给网站以获取授权密钥,我已经使用cURL成功完成了此语句:
curl -D - --request POST https://login.website.com/g/aaa/authorize --data-urlencode token=[TOKEN]
但是,使用Python请求模块似乎无法获得相同的结果:
auth_token = requests.post('https://login.website.com/g/aaa/authorize', data=token)
auth_token.text
只是给了我'Unauthorized'
我已经尝试将数据kawrg传递为:
token=
添加到字符串的开头params
代替数据并将其传递给JSON(这会让我unexpected argument: {"token" : "value....."}
)在这种情况下,-D
和--data-urlencode
(而不仅仅是--data
)的重要性是什么?我应该尝试将标头作为参数转储到{{1 }}?
ЕDIT: 在cURL输出中,也会在任何json启动之前打印auth_key:
requests.post()
答案 0 :(得分:0)
找到答案,requests.json()
需要使用而不是json.dumps(data)
,后者格式不正确,所以这段代码很好:
s.token = requests.post(url, data=data)
s.recieved = s.token.json()
t = requests.post(url, data=s.recieved)