我们在采集一些站点的时候很多站点都是设置的倒链,用本站的url来做的一个替换,访问a链接的时候 打开是b链接,针对这种301跳转后的情况我们就可以用写个

Php的方法来解决。

针对访问webp图片301跳转下载的方法

直接上代码:

<?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=图片链接,是不是很简单呢。

相关文章