平时我们用curl一般都获取http页面的内容,代码如下
[code lang="php"]
$theurl= "http://www.xx.com";

$_data = array(
'client_id' => $CLIENT_ID,
'client_secret' => $CLIENT_SECRET,
);

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$theurl); //设置访问链接
curl_setopt($ch,CURLOPT_POST,1); //设置POST请求方法
curl_setopt($ch,CURLOPT_POSTFIELDS,$_data); //设置访问参数
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); //将输出定向到变量
$result = curl_exec($ch); //此时得到的结果是一个字符串
curl_close($ch);
var_dump ($result);
[/code]
这是我们会把得到结果装到$result里面。
而在用上面的方法来对付https开头的url是,就会发现$result为空。
curl获取https内容
这是为啥呢,https跟http显然不同啊,如果图省事的话,我们可以在$ch = curl_init();后加上
[code lang="php"]curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);[/code]
这样就不用验证证书和host。

分类: PHP

发表评论

电子邮件地址不会被公开。 必填项已用*标注