/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 SensioLabsInsight Quality Score StyleCI Total Downloads

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

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

Postcardware

You're free to use this package (it's MIT-licensed), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.

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

The best postcards will get published on the open source page on our website.

Install

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 to 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 a number of seconds to the timeout-option.

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

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.

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

Credits

About Spatie

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

License

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