HTTP 状态代码的多线程脚本
Multi threading script for HTTP status codes
嗨,Whosebug 社区,
我想创建一个脚本,该脚本使用多线程在 URL 的大型列表(超过 30k 个虚拟主机)上为 HTTP 状态代码创建大量并行请求。
可以从托管网站的同一台服务器执行请求。
我使用的是多线程 curl 请求,但我对得到的结果并不十分满意。完整检查 3 万台主机需要一个多小时。
我想知道是否有人有任何提示或有更高效的方法吗?
如果您正在寻找并行和多线程方法来使用 Python 发出 HTTP 请求,那么您可以从 aiohttp
库开始,或者使用流行的 requests
包裹。多线程可以通过标准库中的 multiprocessing
实现。
这里是关于 aiohttp 客户端速率限制的讨论:
这里讨论了如何使用 requests
进行多处理
使其具有高性能是您实施的问题。请务必分析您的尝试并与您当前的实施进行比较。
在测试了一些可用的解决方案之后,最简单和最快的方法是使用 webchk
webchk is a command-line tool developed in Python 3 for checking the HTTP status codes and response headers of URLs
速度令人印象深刻,输出很干净,它在大约 2 分钟内解析了 30k 个虚拟主机
嗨,Whosebug 社区,
我想创建一个脚本,该脚本使用多线程在 URL 的大型列表(超过 30k 个虚拟主机)上为 HTTP 状态代码创建大量并行请求。
可以从托管网站的同一台服务器执行请求。
我使用的是多线程 curl 请求,但我对得到的结果并不十分满意。完整检查 3 万台主机需要一个多小时。
我想知道是否有人有任何提示或有更高效的方法吗?
如果您正在寻找并行和多线程方法来使用 Python 发出 HTTP 请求,那么您可以从 aiohttp
库开始,或者使用流行的 requests
包裹。多线程可以通过标准库中的 multiprocessing
实现。
这里是关于 aiohttp 客户端速率限制的讨论:
这里讨论了如何使用 requests
使其具有高性能是您实施的问题。请务必分析您的尝试并与您当前的实施进行比较。
在测试了一些可用的解决方案之后,最简单和最快的方法是使用 webchk
webchk is a command-line tool developed in Python 3 for checking the HTTP status codes and response headers of URLs
速度令人印象深刻,输出很干净,它在大约 2 分钟内解析了 30k 个虚拟主机