接口地址可以访问也能返回,用curl访问其他的地址也可以。但是换了个接口后,curl不能请求返回请求地址错误。
直接通过浏览器也能够访问接口。地址是没有错误的。数据正常。
解决:
发送的数据格式要改为 x-www-form-urlencoded
function _httpCurl($url, $data) {
// $url = "http://localhost/web_services.php";
$post_data = http_build_query($data); //array("username" => "bob", "key" => "12345");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
return $output;
}
关键在于 http_build_query
再次请求。