我们在采集一些站点的时候很多站点都是设置的倒链,用本站的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=图片链接,是不是很简单呢。