spatie / http-status-check

用于爬取网站并检查HTTP状态码的命令行工具

4.0.0 2023-06-14 13:15 UTC

This package is auto-updated.

Last update: 2024-09-18 15:49:39 UTC


README

Latest Version on Packagist Software License Tests Total Downloads

此仓库提供了一种工具,用于检查给定网站上每个链接的HTTP状态码。

支持我们

我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从您的家乡寄给我们明信片,注明您正在使用我们的哪些包。您可以在我们的联系页面上找到我们的地址。我们将在我们的虚拟明信片墙上公布所有收到的明信片。

安装

此包可以通过Composer安装

composer global require spatie/http-status-check

用法

此工具将扫描给定网站上所有的链接

http-status-check scan https://example.com

它将为每个找到的链接输出一行。以下是在Laracast网站扫描的示例

screenshot

当爬取过程完成后,将显示摘要。

默认情况下,爬虫使用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)。有关更多信息,请参阅许可文件