HTTP状态代码的多线程脚本

2024-06-18 13:07:21 发布

您现在位置:Python中文网/ 问答频道 /正文

Stackoverflow社区您好

我想创建一个脚本,它使用多线程在一个大的URL列表(超过30k个vhost)上创建大量的HTTP状态代码并行请求。在

这些请求可以从网站所在的服务器执行。在

我使用的是多线程curl请求,但是我对得到的结果并不满意。对3万台主机的完整检查需要一个多小时。在

我想知道有没有人有什么建议,或者有没有更有效的方法来做呢?在


Tags: 方法代码服务器脚本httpurl列表网站
2条回答

如果您正在寻找并行性和多线程方法来使用Python发出HTTP请求,那么您可以从aiohttp库开始,或者使用流行的requests包。多线程处理可以用标准库中的multiprocessing来完成。在

下面是对aiohttp客户端的速率限制的讨论:aiohttp: rate limiting parallel requests

下面是关于使用requestshttps://stackoverflow.com/a/27547938/10553976进行多处理的讨论

使其具有性能取决于您的实现。一定要分析您的尝试,并与您当前的实现进行比较。在

在测试了一些可用的解决方案后,最简单、最快的方法是使用webchk

webchk is a command-line tool developed in Python 3 for checking the HTTP status codes and response headers of URLs

速度令人印象深刻,输出是干净的,它在大约2分钟内解析了30k个VHOST

https://webchk.readthedocs.io/en/latest/index.html

https://pypi.org/project/webchk/

相关问题 更多 >