Skip to content

【练习】封装网络请求工具

项目简介

封装网络请求工具

知识模块

  • Python 编程语言

知识点

  • 类和方法
  • HTTP 请求
  • 请求头
  • 回调函数

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

编写一个Python程序,封装一个网络请求工具类。

对 get/post/put/delete四种请求方式分别封装对应的请求方法
参数有 `url, header(使用字典)`,`callback`回调函数
`callback`回调整函数中,用来显示前两个参数的信息

解题思路

  1. 根据需求确定封装的级别

  2. 导入相应的库,requests 库。

  3. 定义工具类

  4. 编写请求方法

  5. 设置请求头部信息

  6. 处理回调

完整代码

class RequestTools(object):
    @classmethod
    def get(cls, url, header, callback):
        callback(url, header)

    @classmethod
    def post(cls, url, header, callback):
        callback(url, header)

    @classmethod
    def put(cls, url, header, callback):
        callback(url, header)

    @classmethod
    def delete(cls, url, header, callback):
        callback(url, header)


def func(url, header):
    print(f"请求的网址是 {url}")
    print(f"请求的信息有 :")
    for i in header:
        print(i,header[i])

if __name__ == '__main__':

    RequestTools.get('http://www.baidu.com', {"content-type":"text/html"}, func)
    RequestTools.post('http://www.baidu.com', {"content-type":"text/html"}, func)
    RequestTools.put('http://www.baidu.com', {"content-type":"text/html"}, func)
    RequestTools.delete('http://www.baidu.com', {"content-type":"text/html"}, func)

代码讲解

  1. get 方法接受三个参数:url(请求的网址)、header(请求头部信息)和 callback(回调函数)。在这个方法内部,我们直接调用了传入的 callback 函数,并将 urlheader 作为参数传递给它。

  2. postputdelete 方法与 get 方法的逻辑相同,都接受相同的参数并调用传入的 callback 函数。

  3. func 是一个回调函数,它接受两个参数 urlheader。在这个回调函数中,我们打印了传入的 url 并遍历了 header 字典,打印了字典中的键和对应的值。