spatie/visit

访问任何URL并以其美丽的方式获取其输出。

维护者

详细信息

github.com/spatie/visit

主页

源代码

资助包维护!
spatie

安装: 1,989

依赖: 0

建议者: 0

安全性: 0

星标: 386

关注者: 5

分支: 12

类型:项目

1.0.6 2022-12-21 09:33 UTC

This package is auto-updated.

Last update: 2024-09-17 07:06:05 UTC


README

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

此工具可以显示任何URL的响应。将其视为人类版的curl。默认情况下,输出将着色。响应代码和响应时间将在响应后显示。

screenshot

JSON响应默认也将着色。

screenshot

支持我们

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

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

安装

您可以通过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

screenshot

使用不同的方法

默认情况下,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

screenshot

仅显示响应

如果您希望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)。

screenshot

您可以使用这些额外选项

  • --user:您可以将此选项传递用户ID或电子邮件,该用户将在渲染响应之前登录。
  • --route:传递此选项路由名称,您不再需要指定URL。例如visit --route=contact
  • --show-exceptions:当您的应用抛出异常时,此选项将显示该异常。

以下是route选项的一个示例

screenshot

在最后的统计块中,您将看到查询和模型的数量。

screenshot

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略以了解如何报告安全漏洞。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。