Запрос на отправку Python с маркером-носителем
Я пытаюсь сделать сценарий, который отправляет данные в службу REST вместе с токеном Bearer.
Вот пример PHP:
$postData = array( 'app' => 'aaaa' );
$ch = curl_init($apiUrl);
curl_setopt_array($ch, array(
CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$accessToken],
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => json_encode($postData)
));
$response = curl_exec($ch);
Я пытаюсь сделать то же самое с python. Вот что я получил до сих пор...
import urllib2, urllib
import json
auth_token='kbkcmbkcmbkcbc9ic9vixc9vixc9v'
hed = {'Authorization': 'Bearer ' + auth_token}
data = urllib.urlencode({'app' : 'aaaaa'})
url = 'https://api.xy.com'
req = urllib2.Request(url=url, headers=hed, data=data)
content = urllib2.urlopen(req).read()
print content
Я получаю ошибку HTTP 400: неверный запрос. Любая помощь...
Ответы
Ответ 1
import requests
auth_token='kbkcmbkcmbkcbc9ic9vixc9vixc9v'
hed = {'Authorization': 'Bearer ' + auth_token}
data = {'app' : 'aaaaa'}
url = 'https://api.xy.com'
response = requests.post(url, json=data, headers=hed)
print(response)
print(response.json())
Ответ 2
Вы можете получить токен из ответа
request.headers['authorization']