spatie / http-status-check
用于爬取网站并检查HTTP状态码的命令行工具
4.0.0
2023-06-14 13:15 UTC
Requires
- php: ^8.1
- guzzlehttp/promises: ^2.0
- spatie/crawler: ^8.0
- symfony/console: ^5.4|^6.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
此仓库提供了一种工具,用于检查给定网站上每个链接的HTTP状态码。
支持我们
我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感谢您从您的家乡寄给我们明信片,注明您正在使用我们的哪些包。您可以在我们的联系页面上找到我们的地址。我们将在我们的虚拟明信片墙上公布所有收到的明信片。
安装
此包可以通过Composer安装
composer global require spatie/http-status-check
用法
此工具将扫描给定网站上所有的链接
http-status-check scan https://example.com
它将为每个找到的链接输出一行。以下是在Laracast网站扫描的示例
当爬取过程完成后,将显示摘要。
默认情况下,爬虫使用10个并发连接来加快爬取过程。您可以通过传递不同的值给--concurrency
选项来更改此数字
http-status-check scan https://example.com --concurrency=20
您还可以将所有给出非2xx或非3xx响应的url写入文件
http-status-check scan https://example.com --output=log.txt
当爬虫发现指向外部网站的链接时,它将默认爬取该链接。如果您不希望爬虫爬取此类外部url,请使用--dont-crawl-external-links
选项
http-status-check scan https://example.com --dont-crawl-external-links
默认情况下,请求在10秒后超时。您可以通过传递秒数给--timeout
选项来更改此设置
http-status-check scan https://example.com --timeout=30
默认情况下,爬虫将尊重robots数据。不过,您可以通过--ignore-robots
选项来忽略它们
http-status-check scan https://example.com --ignore-robots
如果您的网站需要基本认证,您可以使用--auth
选项
http-status-check scan https://example.com --auth=username:password
测试
要运行测试,首先请确保您已安装Node.js。然后在单独的终端窗口中启动包含的基于node的服务器
cd tests/server
npm install
node server.js
当服务器运行时,您就可以开始测试了
vendor/bin/phpunit
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献。
安全性
如果您发现有关安全性的bug,请通过电子邮件security@spatie.be联系,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。