>  기사  >  백엔드 개발  >  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抓包