初次使用curl进行接口调用。随笔。勿喷。
步骤
- 初始化连接句柄;curl_init();
- 设置CURL选项;curl_setopt();
- 执行并获取结果;curl_exec();
- 关闭连接;curl_close();
- curl_getinfo()可以用于获取执行后的结果。
eg:GET
function doGetRequest($url,$data,$timeout = 5){
if($curl == "" || $timeout <= 0){
return false;
}
$url = $url.'?'.http_bulid_query($data);//http_bulid_query拼接url
$con = curl_init((string)$url);
curl_setopt($con, CURLOPT_HEADER, false);
curl_setopt($con, CURLOPT_RETURNTRANSFER,true);
curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout);
return curl_exec($con);
}
eg:POST
function doCurlPost($url,$data,$time=5){
if($url==''||$data==''||$time<=0){
return false;
}
//初始化curl
$curl=curl_init($url);
//设置为POST方式
curl_setopt($curl, CURLOPT_POST, 1);
//POST数据
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
//如果成功只将结果返回,不自动输出任何内容。
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
//如果想把一个头包含在输出中,设置这个选项为一个非零值。
curl_setopt($curl, CURLOPT_HEADER,0);
//启用时追踪句柄的请求字符串。
curl_setopt($curl, CURLINFO_HEADER_OUT,1);
//返回信息
return curl_exec($curl);
}
备注:http://php.net/manual/zh/function.curl-setopt.php 可以查询curl_setopt()的参数哦
暂时就这么多吧,有空在更学习心得。