首页  >  文章  >  后端开发  >  curl获取图片,同样的代码为什么一个成功,一个不成功

curl获取图片,同样的代码为什么一个成功,一个不成功

WBOY
WBOY原创
2016-06-23 13:29:451339浏览

代码一,可以显示出图片

<?phpheader('content-type:image/jpg;');//图片url一$login_url   = 'http://www.1769pt.com/include/getcode.php';$ch          = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ;  ?>

代码二,无法显示图片
<?phpheader('content-type:image/jpg;');//图片url二$login_url   = 'http://172.16.28.1/root/ef30d3ea-e0c5-448e-8678-c30daccadd20/USER_CACHE/54/66/546686fc-152a-449a-8ae1-7bec1d438fc6/3.jpg';$ch = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ; ?>


回复讨论(解决方案)

代码2 url无法访问

http://www.1769pt.com/include/getcode.php 是公网 url,自然应该可以访问
http://172.16.28.1/root/ef30d3ea-e0c5-448e-8678-c30daccadd20/USER_CACHE/54/66/546686fc-152a-449a-8ae1-7bec1d438fc6/3.jpg 是局域网 url,能不能访问就难说了

代码2的url直接访问失败

$error=curl_error($ch);
echo $error;

看看有什么错误。

我已经修改代码二图片地址,还是不能显示

<?phpheader('content-type:image/jpg;');//图片url二$login_url   = 'http://17wo.cn/captcha.do';$ch = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$contents = curl_exec($ch);curl_close($ch);echo $contents ; ?>

访问直接访问就是这个

解决问题了,我在一个在线网站测试他提示“HTTP Status 400 - HTTP method POST is not supported by this URL”
然后我把//curl_setopt($ch, CURLOPT_POST, 1);这句注释掉就可以,谢谢各位

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:代码加密下一篇:php的curl抓包