php curl 微信上传,curl - 如何用PHP下载微信用户上传的图片

http://mmbiz.qpic.cn/mmbiz/K6icFiaUPUZPxwORf6Eg7p9bgqVLWFyvEupNTTxhCgN...

如上面的图片,用CURL获取就变成了

bVlWiV

试着加USER-AGENT等信息还是不行。

回复内容:

http://mmbiz.qpic.cn/mmbiz/K6icFiaUPUZPxwORf6Eg7p9bgqVLWFyvEupNTTxhCgN...

如上面的图片,用CURL获取就变成了

bVlWiV

试着加USER-AGENT等信息还是不行。

可能微信资源服务器用了盗链技术吧、类似java里filter过滤器的东西

根据请求的浏览器类型之类的信息判定是否盗链。

是微信就正常返回,其他请求就直接返回盗链图。

评论中得出答案

'User-Agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36',

$url = 'http://mmbiz.qpic.cn/mmbiz/K6icFiaUPUZPxwORf6Eg7p9bgqVLWFyvEupNTTxhCgN...';

$ch = curl_init();

$httpheader = array(

'Host' => 'mmbiz.qpic.cn',

'Connection' => 'keep-alive',

'Pragma' => 'no-cache',

'Cache-Control' => 'no-cache',

'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8',

'User-Agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36',

'Accept-Encoding' => 'gzip, deflate, sdch',

'Accept-Language' => 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4'

);

$options = array(

CURLOPT_HTTPHEADER => $httpheader,

CURLOPT_URL => $url,

CURLOPT_TIMEOUT => 5,

CURLOPT_FOLLOWLOCATION => 1,

CURLOPT_RETURNTRANSFER => true

);

curl_setopt_array( $ch , $options );

$result = curl_exec( $ch );

curl_close($ch);

file_put_contents( './i.jpg', $result );

这个应该跟 refer 有关吧,网页中引用的refer相对于微信是外域网站,但是refer为空的情况下是可以打开该链接的,楼主可以把图片地址复制到一个新tab里打开试试

adsfasdfasd

bVl8zy

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值