spatie / visit
访问任何URL并以其美丽的方式获取其输出。
Requires
- php: ^8.1
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- illuminate/http: ^9.4
- illuminate/view: ^9.4
- laravel-zero/framework: dev-feature/php-8.2-box
- mockery/mockery: ^1.4.4
- nunomaduro/termwind: ^1.7
- pestphp/pest: ^1.21.1
- phpstan/phpstan: ^1.5
- soundasleep/html2text: ^2.0
- spatie/guzzle-redirect-history-middleware: ^1.0
- spatie/ray: ^1.34
- symfony/css-selector: ^6.0
- symfony/dom-crawler: ^6.0
- symfony/stopwatch: ^6.0
README
此工具可以显示任何URL的响应。将其视为人类版的curl
。默认情况下,输出将着色。响应代码和响应时间将在响应后显示。
JSON响应默认也将着色。
支持我们
我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。
我们非常感激您从家乡寄给我们一张明信片,说明您正在使用我们的哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上。
安装
您可以通过composer安装此包
composer global require spatie/visit
要着色HTML,您应该安装bat 0.20或更高版本。
在macOS上,您可以使用brew安装bat。
brew install bat
要着色JSON,您应该安装jq。
在macOS上,您可以使用brew安装jq。
brew install jq
用法
要访问某个页面,请执行visit
后跟一个URL。
visit spatie.be
使用不同的方法
默认情况下,visit
命令将执行GET请求。要使用不同的HTTP动词,可以将它传递给method
选项。
visit <your-url> --method=delete
跟随重定向
默认情况下,visit
命令不会跟随重定向。要跟随重定向并显示重定向目标的响应,请添加--follow-redirects
选项。
php artisan visit /my-page --follow-redirects
传递有效载荷
您可以通过使用有效载荷将有效载荷传递给非GET请求。有效载荷应格式化为JSON。
visit <your-url> --payload='{"testKey":"testValue"}'
当您传递有效载荷时,我们将假设您想要发出POST
请求。如果您想使用另一个HTTP动词,请明确传递它。
visit <your-url> --method=patch --payload='{"testKey":"testValue"}'
显示响应头
默认情况下,visit
不会显示任何头。要显示它们,请添加--headers
选项
visit <your-url> /my-page --headers
仅显示响应
如果您希望visit
仅显示响应,省略响应结果块,请传递--only-response
选项。
visit <your-url> --only-response
仅显示响应属性块
要避免显示响应,并且仅显示响应结果块,请使用--only-stats
选项
visit <your-url> --only-stats
避免着色响应
visit
将自动着色任何HTML和JSON输出。要避免输出着色,请使用--no-color
选项。
visit <your-url> --no-color
以文本形式显示结果HTML
通常HTML响应相当长。这可能会使您难以快速看到在浏览器中将显示哪些文本。要将HTML转换为文本变体,您可以传递--text
选项。
visit <your-url> --text
过滤HTML输出
如果您只想看到HTML响应的一部分,可以使用--filter
选项。对于HTML输出,您可以传递一个CSS选择器。
假设您的完整响应是此HTML
<html> <body> <div>First div</div> <p>First paragraph</p> <p>Second paragraph</p> </body> </html>
此命令...
visit <your-url> --filter="p"
...将会显示
<p>First paragraph</p> <p>Second paragraph</p>
过滤JSON输出
如果您只想看到JSON响应的一部分,可以使用--filter
选项。您可以使用点符号来访问嵌套的部分。
假设您应用的完整响应是这个JSON
{ "firstName": "firstValue", "nested": { "secondName": "secondValue" } }
此命令...
visit <your-url> --filter="nested.secondName"
...将会显示
secondValue
Laravel集成
visit
命令也可以访问Laravel应用并执行类似操作
- 登录用户
- 访问路由名称
- 报告执行查询的数量和用于构建响应的模型。
要启用此功能,您必须在Laravel应用内部安装spatie/laravel-visit包。
要访问Laravel应用中的路由,确保在当前工作目录是您的Laravel应用时执行visit
。您还应该使用相对URL(因此省略应用URL)。
您可以使用这些额外选项
--user
:您可以将此选项传递用户ID或电子邮件,该用户将在渲染响应之前登录。--route
:传递此选项路由名称,您不再需要指定URL。例如visit --route=contact
。--show-exceptions
:当您的应用抛出异常时,此选项将显示该异常。
以下是route
选项的一个示例
在最后的统计块中,您将看到查询和模型的数量。
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略以了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。