使用python在模拟服务器上获取HTTPS请求不起作用

时间:2019-07-05 20:10:58

标签: python https get postman api-key

我使用Postman制作了一个模拟服务器来测试我的前端应用程序。我正在制作一个tkinter GUI,客户端在其中输入客户端的API密钥,并使用此API密钥发出HTTPS请求,以从我们公司的后端检索JSON负载。我使用的是模拟API端点,因为我们的端点尚未完全开发。我在弄清楚如何进行这项工作时遇到了麻烦。

我将模拟服务器设置为具有名为“ x-api-key”的api密钥授权标头:“从邮递员网站提取的API密钥”

我将请求和示例响应上的所有标头设置为与api键相对应。使用邮递员应用程序上的发送请求按钮即可。

但是,当我尝试使用python发送请求时,它不起作用。

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)

但是,如果在''中的GUI上输入了API密钥,则错误消息显示为

{'错误':{'名称':'invalidCredentialsError','消息':'提供了无效的api密钥。'}}

0 个答案:

没有答案