jackyban/urlscanner

从CSV文件扫描URL并报告不可访问的URL

1.0.3 2019-09-11 11:29 UTC

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