2016-12-06 1 views
1

Завиток команды, что у меня есть, что работает должным образом -Преобразование завиток команду запроса Python

curl -X GET -H "Authorization: Basic <base64userpass>" -H "Content-Type: application/json" "http://<host>/bamboo/rest/api/latest/result/<plankey>.json?expand=results.result&os_authType=basic" 

В Python, это то, что я в настоящее время -

headers = {'Authorization': 'Basic <base64userpass>', 'Content-Type': 'application/json'} 
    datapoints = {'expand': 'results.result', 'os_authType': 'basic'} 
    url = "http://<host>/bamboo/rest/api/latest/result/<plankey>.json" 
    r = requests.get(url, headers=headers, data=datapoints) 

ответ я получаю при использовании запрос Python равен <Response [403]>, но при использовании curl я возвращаю ожидаемые данные.

Что мне здесь не хватает?

Спасибо.

+0

вам нужно 'params =' вместо 'data =' – furas

ответ

3

Вы должны использовать опцию запросов для базовой аутентификации auth. Есть несколько заголовков, что CURL командной строки ручки для вас (и запросы не будут обращаться с ними, если вы не используете auth):

>>> from requests.auth import HTTPBasicAuth 
>>> requests.get('https://api.github.com/user', auth=HTTPBasicAuth('user', 'pass')) 

Или просто использовать:

>>> requests.get('https://api.github.com/user', auth=('user', 'pass')) 

(Изменение URL и все).

Также обратите внимание, что requests должен получить params= (а не data=).

+0

Единственное, что у меня есть, это то, что единственное значение, которое у меня есть в настоящее время, - это кодированное значение base64 (скажем, это CmUnMm9dOkJGhaUIwBaMlNTYyJh =), а не user/pass, можно ли использовать этот метод еще? – George

+0

Вы уверены, что это значение? – Dekel

+0

Я только что составил ряд чисел в этом примере, но да, я уверен, что серия чисел, которые я фактически использую, - это имя пользователя/пароль. Он работал для других скриптов в системе. Я полагаю, я мог бы просто расшифровать его, но я надеялся, что это будет работать без меня, чтобы иметь пароль в открытом тексте внутри скрипта. – George

 Смежные вопросы

  • Нет связанных вопросов^_^