两种获取链接响应码的方法 (python实现)
2022/8/14 1:54:00
本文主要是介绍两种获取链接响应码的方法 (python实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
两种获取链接响应码的方法 (python实现)
背景:
工作中需要测试某个包是否正常上传到了 yum 仓库,所以需要检测对应地址是否有效,发现之前使用requests 库写的代码出奇的慢,所以做了优化。
分别使用 requests 和 urllib 库实现
结论:使用urllib 库要比 requests 库要快。尤其是对于链接为比较大的文件时。
代码如下:
import requests import urllib.request import time def get_excute_time(fun): def wrapper(*args): start = time.time() fun(*args) end = time.time() print("spend %.2fs"%(end - start)) return wrapper @get_excute_time def get_code_by_urllib(url): status = urllib.request.urlopen(url).code return status @get_excute_time def get_code_by_requests(url): status = requests.get(url).status_code return status if __name__ == "__main__": url = "https://mirrors.openanolis.cn/anolis/8/AppStream/x86_64/os/Packages/dotnet-sdk-6.0-6.0.107-1.0.1.an8_6.x86_64.rpm" get_code_by_urllib(url) get_code_by_requests(url)
执行结果
$ python request_code.py spend 0.19s spend 11.56s
备注:
如果测试多个 url,也可以使用 threading 模块编写多线程测试,减少 io 阻塞的情况,进一步提高效率。
这篇关于两种获取链接响应码的方法 (python实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python
- 2024-03-12python colon equals