GET HTTPS-запрос на фиктивном сервере с использованием Python не работает - PullRequest
0 голосов
/ 05 июля 2019

Я создал фиктивный сервер, используя Postman для тестирования моего приложения.Я делаю графический интерфейс tkinter, где клиент вводит свой ключ API и делает запрос HTTPS с этим ключом API, чтобы получить полезную нагрузку JSON из бэкэнда нашей компании.Я использую фиктивную конечную точку API, потому что наша конечная точка не полностью разработана.У меня проблемы с выяснением, как сделать эту работу.

Я установил на своем фиктивном сервере заголовок авторизации ключа API под названием «x-api-key»: «Ключ API извлечен с веб-сайта почтальона»

Я установил все заголовки в своих запросахи пример ответов, чтобы соответствовать ключу API.Использование кнопки «Отправить запрос» в приложении «Почтальон» работает.

Однако оно не работает, когда я пытаюсь отправить запрос с помощью python.

class PageOne (tk.Frame):

def __init__(self, parent, controller):
    tk.Frame.__init__(self, parent)
    self.controller = controller

    label = tk.Label(self, text="Please enter your API key and click verify", font=controller.title_font)
    label.pack(side="top", fill="x", pady=10)
    txt = Entry(self, width=45)

    txt.pack(expand = 'true', pady = 10)

    def verify():
        # api-endpoint
        URL = "https://b74bd7fc-48f5-4c58-999f-6b685f1b1093.mock.pstmn.io/test/"


        HEADERS = {'x-api-key' : txt.get()}
        # sending get request and saving the response as response object
        r = requests.get(url=URL, headers=HEADERS)

        # extracting data in json format
        data = r.json()
        print(data)

    button =  tk.Button(self, text = "verify", command = verify)
    button.pack()

Поскольку код стоит, мне нужно ввести ключ API в '' или я получаю ошибку: json.decoder.JSONDecodeError: Ожидается':' разделитель: строка 1, столбец 11 (символ 10)

Однако, если ключ API введен в GUI в '', сообщение об ошибке будет иметь следующий вид:

{'error': {'name': 'invalidCredentialsError', 'message': 'Указан неверный ключ API.'}}

...