php获取https内容

php curl函数语法

在用php file_get_contents函数抓取https页面内容的时候 ,将会出错. 

类似的错误提示为:

function.file-get-contents: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

错误提示或为:
function.file-get-contents: failed to open stream: Invalid argument in 

为了用php获取https内容,可以用curl类,相关代码如下:

$url = 'https://github.com/';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

echo curl_exec($ch);


其中, 设置取消CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST是关键.

CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST是做什么用的?
它们具体的作用就是去验证对方提供的(读取https)证书是否有效,过期,或是否通过CA颁发的!
在没有为自己的网站设置CA证书的时候, curl找不到CA证书去验证对方的证书!

所以要获取https,可以直接取消SSL验证.


欢迎转载,转载请注明来自一手册:http://yishouce.com/article/25.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1