使用php如何扫描url死链接
内容导读
收集整理的这篇技术教程文章主要介绍了使用php如何扫描url死链接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2317字,纯文字阅读大概需要4分钟。
内容图文
这篇文章主要介绍了关于使用php如何扫描url死链接,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下* 从Packagist上搜索需要的包
https://packagist.org/
* 通过composer下载依赖包
composer require guzzlehttp/guzzlecomposer require league/csv
* 使用composer自动加载器, 编写scan.php
<?php// 1. 使用composer自动加载器require 'vendor/autoload.php';use GuzzleHttpRequestOptions;// 2. 实例Guzzle HTTP客户端$client = new GuzzleHttpClient();$options = [ RequestOptions::TIMEOUT => 3, RequestOptions::DECODE_CONTENT => false, RequestOptions::HEADERS => [ 'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', ]];// 3. 打开迭代处理csv// 或者传用户自定义命令行参数指定输入文件 $argv[1]// $file = new SplFileObject('../data/t_video.csv'); /* $csvRow[4], $csvRow[5] */$file = new SplFileObject('../data/urls.csv');$csv = LeagueCsvReader::createFromFileObject($file);foreach ($csv as $csvRow) { $url = $csvRow[0]; echo 'scanning ',$url,'... '; try { // 4. 发送http options请求 $httpResponse = $client->request('GET', $url, $options); // 5. 检查http相应的状态码 $code = $httpResponse->getStatusCode(); if ($code === 200) { echo "