curl获取https开头的url的内容

平时我们用curl一般都获取http页面的内容,代码如下

$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);

这是我们会把得到结果装到$result里面。
而在用上面的方法来对付https开头的url是,就会发现$result为空。
curl获取https内容
这是为啥呢,https跟http显然不同啊,如果图省事的话,我们可以在$ch = curl_init();后加上

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

这样就不用验证证书和host。

发表评论

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