Visit is a Beautiful HTTP CLI Tool for Humans

0
49
spatie-visit.png


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:

1visit 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:

1# Given the following HTML response, you can filter the results

2# <html>

3# <body>

4# <div>First div</div>

5# <p>First paragraph</p>

6# <p>Second paragraph</p>

7# </body>

8# </html>

9#

10 

11visit <your-url> --filter="p"

12# Returns:

13# <p>First paragraph</p>

14# <p>Second paragraph</p>

Here’s an example of a filtered JSON response:

1# Given the following JSON response, you can filter the results

2# {

3# "firstName": "firstValue",

4# "nested": {

5# "secondName": "secondValue"

6# }

7# }

8 

9visit <your-url> --filter="nested.secondName"

10# 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:

1# Pass user.id

2php artisan visit /api/user/me --user=1

3 

4# or the --user flag

5php artisan visit /api/user/me [email protected]

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

1php 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.





Source link

Leave a reply

Please enter your comment!
Please enter your name here