📜  使用Python请求模块创建 API 测试器

📅  最后修改于: 2022-05-13 01:55:48.914000             🧑  作者: Mango

使用Python请求模块创建 API 测试器

先决条件: Python请求模块、API

在本文中,我们将通过创建一个 API 测试器来讨论Python Requests模块的工作过程。

API 代表应用程序编程接口(所有交互的主要参与者)。它就像一个信使,将我们的请求带到系统并通过无缝连接将响应返回给我们。我们在许多情况下使用 API,例如为 Web 应用程序获取数据或连接到远程服务器,该服务器具有不断变化的天气等数据,或者使两个应用程序能够相互交换数据。

requests 库是Python的一个组成部分,用于向指定的 URL 发出 HTTP 请求。无论是 REST API 还是 Web Scrapping,都必须学习请求才能进一步使用这些技术。当一个人向一个 URI 发出请求时,它会返回一个响应。 Python请求提供了用于管理请求和响应的内置功能。

循序渐进的方法:

  • 首先,我们从用户那里选择他们想要的输入。
  • 获取输入 URL。

如果用户选择GET请求。

  • getReq()函数中,使用 Requests 模块发出 GET 请求并存储结果。
  • 使用 JSON 模块格式化结果并返回。

如果用户选择 Post Request。

  • 取一个字典数据发送到服务器。
  • postReq()函数中,使用 Request 模块使用 JSON 数据发出 POST 请求并存储结果。
  • 使用 JSON 模块格式化结果并返回。

最后,打印返回的结果。

下面是基于上述方法的实现:

Python3
# request module to
# work with api's
import requests
 
# json module to
# parse and get json
import json
 
 
# This function are return the
# json response from given url
def getReq(url):
     
    # handle the exceptions
    try:
       
        # make a get request using requests
        # module and store the result.
        res = requests.get(url)
         
        # return the result after
        # formatting in json.
        return json.dumps(res.json(), indent=4)
    except Exception as ee:
        return f"Message : {ee}"
 
       
# This function are return the
# json response of url and json
# data you send the server  
def postReq(url, data):
   
    # handle the exceptions
    try:
       
        # make a post request with
        # the json data
        res = requests.post(url, json=data)
         
        # return the response after
        # formatting in json.
        return json.dumps(res.json(), indent=4)
    except Exception as er:
        return f"Message : {er}"
 
       
# Driver Code
if __name__ == '__main__':
   
    # always run loop to make
    # menu driven program
    while True:
       
        # handle the exceptions
        try:
            choice = int(input("1.Get Request\n2.Post Request\n3.Exit\nEnter Choice : "))
             
            # get user choice and perform tasks.
            if choice == 1:
               
                # take a url as a input.
                url_inp = input("Enter a valid get url : ")
                 
                # print the result of the url.
                print(getReq(url_inp))
                 
            elif choice == 2:
               
                # take a url as a input
                url_inp = input("Enter a valid get url : ")
                 
                # take a formal data as input in dictionary.
                data_inp = {
                    "name": input("Name : "),
                    "email": input("Email : "),
                    "work": input("Work : "),
                    "age": input("Age : ")
                }
                 
                # print the result.
                print(postReq(url_inp, data_inp))
                 
            elif choice == 3:
               
                # if user want to exit.
                exit(0)
                 
        except Exception as e:
            print("Error : ", e)


输出:

首先,发出get请求

带有查询的 get 请求。

获取所有用户的获取请求。

最后,使用 JSON 数据发出 post 请求。

以下是描述程序功能的完整输出视频