/*cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。
封装php curl 直接可以使用 */
function curl_post ($url, $postfields = '', $headers = '', $timeout = 20, $file = 0){
$ch = curl_init();//初始化一个的curl对话,返回一个链接资源句柄
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_NOBODY => false,
CURLOPT_POST => true,
CURLOPT_TIMEOUT => $timeout,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0
);
if (is_array($postfields) && $file == 0) {
$options[CURLOPT_POSTFIELDS] = http_build_query($postfields);
} else {
$options[CURLOPT_POSTFIELDS] = $postfields;
}
curl_setopt_array($ch, $options);//
if (is_array($headers)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$result = curl_exec($ch);//执行一个的curl对话
$code = curl_errno($ch);//返回一个的包含当前对话错误消息的数字编号
$msg = curl_error($ch);//返回一个的包含当前对话错误消息的char串
$info = curl_getinfo($ch);//获取一个的curl连接资源的消息
curl_close($ch);//关闭对话,并释放资源
return array(
'data' => $result,
'code' => $code,
'msg' => $msg,
'info' => $info
);
}
//使用方法
$url = 'http://****/***?';//远程连接的地址
$postdata = array('param1'=>'value1','param2'=>'value2'...);//参数=>值 可以传多个参数
$ch = curl_post($url,$postdata);
var_dump($ch['data']);
?>