<?php
function sendMessage() {
$data = array(
'account' => 'momos',
'password' => strtoupper(md5('123456')),
'verify' => ''
);
$url = "https://172.30.5.28/test_curl/server.php";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$respone = curl_exec($curl);
curl_close($curl);
return $respone;
}
var_dump(sendMessage());
?>
最近玩了一下CURL后台POST,发现Linux下对于HTTPS的访问有期盼内容返回,而Windows下却返回false。
但是访问HTTP时,两个平台都有同样的结果返回。估摸着Linux平台下,CURL如果可能默认参数CURLOPT_SSL_VERIFYPEER为false,而Windows下则默认CURLOPT_SSL_VERIFYPEER为true。于是设置该参数CURLOPT_SSL_VERIFYPEER均为false。
再次测试,两平台都返回了所期望的同样结果。
当然,既然访问的是HTTPS,应该把CURLOPT_SSL_VERIFYPEER设置为true,然后配置相关证书信息的。