【练习】封装网络请求工具
项目简介
封装网络请求工具
知识模块
- Python 编程语言
知识点
- 类和方法
- HTTP 请求
- 请求头
- 回调函数
受众
- 初级测试开发工程师
- 初级Python开发工程师
作业要求
编写一个Python程序,封装一个网络请求工具类。
对 get/post/put/delete四种请求方式分别封装对应的请求方法
参数有 `url, header(使用字典)`,`callback`回调函数
`callback`回调整函数中,用来显示前两个参数的信息
解题思路
-
根据需求确定封装的级别
-
导入相应的库,
requests
库。 -
定义工具类
-
编写请求方法
-
设置请求头部信息
-
处理回调
完整代码
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)
代码讲解
-
get
方法接受三个参数:url
(请求的网址)、header
(请求头部信息)和callback
(回调函数)。在这个方法内部,我们直接调用了传入的callback
函数,并将url
和header
作为参数传递给它。 -
post
、put
和delete
方法与get
方法的逻辑相同,都接受相同的参数并调用传入的callback
函数。 -
func
是一个回调函数,它接受两个参数url
和header
。在这个回调函数中,我们打印了传入的url
并遍历了header
字典,打印了字典中的键和对应的值。