PHP反向代理-百度图片

时间:2022-07-28 00:27:48

最近在一些开发中需要调用百度贴吧等一系列的百度图片 但是防盗链实在讨厌

于是就简单利用curl实现了反向代理(应该是这么叫的)

如果网站直接调用百度图片 会出现如下(博客园貌似在白名单 可以直接用百度链接 ...)

PHP反向代理-百度图片

实际上这张图为(随便找的图)

PHP反向代理-百度图片

php代码如下:

//img.php
<?php
if(!isset($_GET["url"]))
{
$url='http://g.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=4d275dc4a864034f0f98ca029af35507/18d8bc3eb13533fa84570037abd3fd1f40345bc1.jpg';
} else {
$url=$_GET["url"];
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); //经过测试可省略
curl_setopt($ch, CURLOPT_HEADER, 0);
$img=curl_exec($ch);
curl_close($ch);
header("Content-type: image/png");
echo $img;

调用基本就是

//img.html
<img src="http://域名/img.php?url=http://g.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=4d275dc4a864034f0f98ca029af35507/18d8bc3eb13533fa84570037abd3fd1f40345bc1.jpg"> 

挺简单的代码

不过还是有需要注意的 .php文件的格式必须为无 BOM 格式 (本想用代码过滤 但是简单的测试了几次,没有成功 所以还是手动转码吧)