我们在采集一些站点的时候很多站点都是设置的倒链,用本站的url来做的一个替换,访问a链接的时候 打开是b链接,针对这种301跳转后的情况我们就可以用写个
Php的方法来解决。
直接上代码:
<?php // 获取图片的真实 URL function getRealImageUrl($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $matches = array(); preg_match('/Location:(.*?) /', $header, $matches); if(isset($matches[1])) { return trim($matches[1]); } else { return $url; } } // 下载图片 function downloadImage($url) { $realUrl = getRealImageUrl($url); $filename = basename($realUrl); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $filename . '"'); readfile($realUrl); } // 主程序 if(isset($_GET@['url'])) { $imageUrl = $_GET@['url']; downloadImage($imageUrl); } else { echo "请提供要下载的图片 URL"; } ?>
默认使用方法是:127.0.0.1/插件.php?url=图片链接
直接上面的随便命名个php文件比如:tu.php,直接把代码粘贴进去,访问直接使用就好了127.0.0.1/tu.php?url=图片链接,是不是很简单呢。