昨天遇到一个很奇怪的问题,用的curl post发送数据到短信接口那边的时候总是报错,空指针异常,后来我本地测试,用$_POST可以接收到数据
function curl_post($uri,$data){
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 1);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );
}
后来没解决,公司员工说可能被拦截了,我代码有问题,今天又百度了下,发现也有个遇到和 我同样的问题
function curl_post($uri,$data){
$data = http_build_query($data);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 1);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );
}
就在代码中加了一句 http_build_query($data); 接口那边就可以正常接收数据了