Visit is a Beautiful HTTP CLI Tool for Humans

Developer Tools

March 29th, 2022

Visit is a Beautiful HTTP CLI Tool for Humans

Visit is a CLI tool by Spatie to see an HTTP response in a beautiful way. Think of it as cURL for humans:

To get started with visit, you can pass it a URL:

visit laravel-news.com

If you've installed the recommended HTML syntax highlighting tool, you'll see something similar to the following:

Visit CLI output for laravel-news.com

Besides passing a URL, you can also do some pretty powerful stuff like filtering for both HTML and JSON responses:

# Given the following HTML response, you can filter the results
# <html>
# <body>
# <div>First div</div>
# <p>First paragraph</p>
# <p>Second paragraph</p>
# </body>
# </html>
#
 
visit <your-url> --filter="p"
# Returns:
# <p>First paragraph</p>
# <p>Second paragraph</p>

Here's an example of a filtered JSON response:

# Given the following JSON response, you can filter the results
# {
# "firstName": "firstValue",
# "nested": {
# "secondName": "secondValue"
# }
# }
 
visit <your-url> --filter="nested.secondName"
# Returns `secondValue`

Along with the global composer CLI for Visit, Spatie has an accompanying spatie/laravel-visit package to visit any URI in a Laravel app quickly. You can even log in as a user when running the artisan visit command:

# Pass user.id
php artisan visit /api/user/me --user=1
 
# or the --user flag
php artisan visit /api/user/me --user=john@example.com

Another cool trick is showing an exception stack trace instead of the rendered exception page:

php artisan visit /page-with-exception --show-exception

We've only really scratched the surface of all the features possible with visit. You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Also, Freek Van der Herten wrote an in-depth blog post about this package that has more details: Introducing Visit: a CLI tool made for humans to make network requests.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.