我试图用三个参数调用服务:uri,代码和类型。但有时“类型”参数发布为空,有时发布正确。所以服务电话有时会成功,有时会失败。我没有改变任何东西,但参数“类型”有时是空的。怎么能解决这个问题?
$curl_post_data = array(
"uri" => $uri,
"code" => $code,
"type" => $type
);
$post_data = http_build_query($curl_post_data);
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPAUTH, xxx);
curl_setopt($curl, CURLOPT_USERPWD, xxx);
curl_setopt($curl, CURLOPT_PROXY, 'xxx');
curl_setopt($curl, CURLOPT_PROXYUSERPWD, 'xxxx');
curl_setopt($curl, CURLOPT_PROXYPORT, xxx);
curl_setopt($curl, CURLOPT_PROXYAUTH, xxx);
$curl_response = curl_exec($curl);
if (false === $curl_response) {
return null;
}
答案 0 :(得分:0)
http_build_query
将删除空值..请参阅第一条评论:http://php.net/manual/en/function.http-build-query.php