Как настроить заголовок запроса для запроса GET Authenticated API - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь сделать аутентифицированный GET-запрос к API.Это одна из моих первых попыток работать с библиотекой Python request.Я просмотрел похожие посты к этому, но они слишком общие, чтобы отвечать на мой вопрос.Их ответы работают почти во всех других случаях, с которыми я работал, поэтому они немного застряли.

Заголовок запроса довольно длинный:

':authority': 'api-WEBSITE.com',
':method': 'GET',
':path': 'ENDPOINT',
':scheme': 'https',
'accept': 'application/json',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'authorization': 'AUTH_TOKEN', 
'content-type': 'application/json',
'cookie': 'VERY_LONG_COOKIE',
'origin': 'https://WEBSITE.com',
'referer': 'https://WEBSITE.com/app',
'user-agent': 'LIST_OF_BROWSERS'

Мой код, который выполняет этот запрос:

import requests

requestURL = "https://api-WEBSITE.com/ENDPOINT"

parameters = {
    ':authority': 'api-WEBSITE.com',
    ':method': 'GET',
    ':path': 'ENDPOINT',
    ':scheme': 'https',
    'accept': 'application/json',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-US,en;q=0.9',
    'authorization': 'AUTH_TOKEN', 
    'content-type': 'application/json',
    'cookie': 'VERY_LONG_COOKIE',
    'origin': 'https://WEBSITE.com',
    'referer': 'https://WEBSITE.com/app',
    'user-agent': 'LIST_OF_BROWSERS'
}

response = requests.get(requestURL, parameters)

print(response.status_code)

Когда я запускаю это, я получаю код состояния 401, запрашивающий аутентификацию;однако, я не могу выяснить, что выдает эту ошибку 401.

1 Ответ

0 голосов
/ 26 октября 2018

Чтобы предоставить заголовки для запроса Python: вы должны сделать это: r = запросы.get (url, headers = headersDict)

Где headersDict - действительный словарь заголовков, которые вы хотите добавить в запрос

...