jackyban / urlscanner
从CSV文件扫描URL并报告不可访问的URL
1.0.3
2019-09-11 11:29 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ~6.0@stable
Requires (Dev)
- phpunit/phpunit: ~8.0
Suggests
- league/csv: ~9.0
This package is auto-updated.
Last update: 2024-09-11 23:08:50 UTC
README
从包含url的数组中进行扫描并报告不可访问的URL
- 支持传入url数组返回有效链接
- 支持传入单条url进行有效性验证
- 也可以支持从CSV文件扫描URL,但需要加载额外的插件
league/csv,它已包含在composer.json里。非必须加载,但需要将CSV解析成数组后再传入进行验证。
安装说明
推荐使用composer进行安装,使用composer能更好地控制版本
composer require jackyban/urlsanner
也可以使用git方式
git clone https://github.com/jackyban/urlscanner.git
使用说明
首先需要引入composer自动加载类,如果使用git或其它方式,可能需要手动添加autoload.php或者自己编写自动加载。大部分框架都支持自动加载,这里推荐使用lavaral;
require "vendor/autoload.php"; // 传入的url数组 $urls = [ "http://darlingsky.cn", "http://laravel-academy.org", "https://packagist.org.cn" ]; // 实例化scanner对象 $scanner = new \JackyBan\UrlScanner($urls);
返回所有不可访问的链接:
$arr = $scanner->getInvalidUrls(); print_r($arr); //输出: array ( 0 => array ( 'url' => 'http://darlingsky.cn', 'status' => 500, ), 1 => array ( 'url' => 'https://packagist.org.cn', 'status' => 500, ), ) // 这里只是示例,以实际返回结果为准。返回结果为二维数组,每个子数组包含`url`和`status`两个参数。没有则返回空数组。
返回所有可访问的链接:
$arr = $scanner->getValidUrls(); print_r($arr); //输出: array ( 'url' => 'http://darlingsky.cn', 'url' => 'https://packagist.org.cn', ) // 这里只是示例,以实际返回结果为准。返回一维数组,所有可访问的链接。没有则返回空数组。
验证单条链接的有效性:
$bool = $scanner->verifyUrl(); var_dump($bool); //输出: true or false // 返回结果为`Boolean`类型。
从url数组中取出一条可访问的链接:
$url = $scanner->getOneValidUrls(); print_r($url); //输出: 'http://darlingsky.cn' or false // 返回一条可访问的链接,如果都不能访问则返回false。