/http-status-check

CLI tool to crawl a website and check HTTP status codes

Primary LanguagePHPMIT LicenseMIT

Check the statuscode of all links on a website

Latest Version on Packagist Software License Quality Score StyleCI Total Downloads

This repository provides a tool to check the http statuscode of every link on a given website.

Installation

Via Composer

composer global require spatie/http-status-check

Usage

This tool will scan all links on a given site.

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

It outputs a line per link found.

screenshot

When the crawl is finished a summary will be shown.

By default it uses 10 concurrent connections to speed up the crawling process. You can change that number passing a different value to the concurrency-option.

http-status-check scan https://example.com --concurrency=20

You can also write all urls that gave a non-2xx or non-3xx response to a file:

http-status-check scan https://example.com --output=log.txt

When the crawler finds a link to an external site it will by default crawl that link as well. If you don't want the crawler to crawl such external urls use the --dont-crawl-external-links option

http-status-check scan https://example.com --dont-crawl-external-links

By default, requests timeout after 10 seconds. You can change this by passing the number of seconds to the timeout-option.

http-status-check scan https://example.com --timeout=30

Testing

To run the tests you'll have to start the included node based server first in a separate terminal window.

cd tests/server
./start_server.sh

With the server running, you can start testing.

vendor/bin/phpunit

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

Support us

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.

License

The MIT License (MIT). Please see License File for more information.