dr5779
2015-05-11 17:08
浏览 189
已采纳

通过https获取curl图像

I have script which gets image from http and it works fine, but when I try to get image from https link it is not working. I am using curl, and I have found this Get image via https and php but it is not working.

My code:

    $image_url="https://ssl.gstatic.com/accounts/services/mail/phone.png";
$slika = getSslPage($image_url);
if(!empty($slika))
    file_put_contents('vest.jpg', $slika);

function getSslPage($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

phpinfo is giving me this information

Protocols: dict, file, ftp, gopher, http, imap, pop3, rtsp, smtp, telnet, tftp 

and command line is showing https

root@server [~]# curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp

图片转代码服务由CSDN问答提供 功能建议

我有从HTTP获取图像的脚本并且工作正常,但是当我尝试从https链接获取图像时 不管用。 我正在使用curl,我发现了这个通过https和php获取图像 但它没有用。

我的代码:

  $ image_url =“https:// ssl  .gstatic.com / accounts / services / mail / phone.png“; 
 $ slika = getSslPage($ image_url); 
if(!empty($ slika))
 file_put_contents('vest.jpg',$ slika)  ; 
 
函数getSslPage($ url){
 $ ch = curl_init(); 
 curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,false); 
 curl_setopt($ ch,CURLOPT_HEADER,false); 
 curl_setopt($ ch  ,CURLOPT_FOLLOWLOCATION,true); 
 curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,false); 
 curl_setopt($ ch,CURLOPT_URL,$ url); 
 curl_setopt($ ch,CURLOPT_REFERER,$ url); 
 curl_setopt($ ch  ,CURLOPT_RETURNTRANSFER,true); 
 $ result = curl_exec($ ch); 
 curl_close($ ch); 
返回$ result; 
} 
   
 
 

phpinfo给我这个信息

 协议:dict,file,ftp,gopher,htt  p,imap,pop3,rtsp,smtp,telnet,tftp 
   
 
 

命令行显示https

   root @ server [〜] #curl --version 
curl 7.19.7(x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.16.2.3基本ECC zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2  
协议:tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
   
 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • downing1988 2015-05-11 20:29
    已采纳

    I have solved it by installing curl ssl

    /scripts/easyapache
    option 7 on the menu
    select PHP
    scroll down and select CURL with SSL
    exit
    save 
    

    Everything is working now

    点赞 打赏 评论

相关推荐 更多相似问题