公告
  
重要通知:网站网络变更中可能出现站点图片无法加载的问题,点击此处可解决!
更多资讯可访问:点击查看消息详情!

朕已阅

如何下载有防盗功能的资源

admin 千秋月 关注 管理组 论坛神话
发表于程序代码版块 技术杂文

在我们日常浏览视频或图片时,常常遇到想要保存却发现图片源无法直接打开的情况,通常会弹出防盗提示,如下所示:

Image

面对这种情况,其实有一个简单的解决方法:使用 cURL 来伪造图片来源。通过 cURL 发起请求获取图片,并伪造 HTTP 请求头中的 Referer 和 User-Agent 字段,这样可以有效绕过某些网站的防盗链或访问限制。


仅需一段 PHP 代码就能轻松搞定,代码附在文末,可直接复制。

<?php
// 替换为你要下载的图片 URL
$imageUrl = "https://tvax1.sinaimg.cn/large/aeda7a57ly1hubz2jnxqoj20by0by0ta.jpg";

// 替换为伪造的 Referer 来源
$referer = "https://tvax1.sinaimg.cn/";

// 替换为伪造的 User-Agent 或使用默认值
$userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36";

// 初始化 cURL
$ch = curl_init();

// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $imageUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_REFERER, $referer); 
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// 执行 cURL 请求
$imageData = curl_exec($ch);

// 检查是否有错误
if(curl_errno($ch)) {
    echo "cURL 错误: " . curl_error($ch);
} else {
    // 生成随机文件名,使用 uniqid() 函数,带上 .jpg 扩展
    $randomFileName = uniqid('image_', true) . '.jpg';
    
    // 替换为你想保存的本地路径和随机文件名
    $savePath = "images/" . $randomFileName;

    // 保存文件
    if (file_put_contents($savePath, $imageData)) {
        echo "图片下载成功,保存为: " . $savePath;
    } else {
        echo "保存图片失败";
    }
}

// 关闭 cURL 资源
curl_close($ch);
?>

评论列表 评论
发布评论

评论: 如何下载有防盗功能的资源



点击进入免费吃瓜群!吃大瓜! 广告位支持代码、文字、图片展示 Image


免责声明
本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。 不得用于商业或非法用途,否则,一切责任由该用户承担 !

请求资源或报告无效资源,请点击[反馈中心]


侵权删除请致信 E-Mail:chengfengad@gmail.com
已有0次打赏
(0) 分享
分享
取消