php实现的http请求封装示例
本文实例讲述了php的http请求封装。分享给大家供大家参考,具体如下:
/**
*发送HTTP请求方法,目前只支持CURL发送请求
*@paramstring$url请求URL
*@paramarray$params请求参数
*@paramstring$method请求方法GET/POST
*@returnarray$data响应数据
*/
protectedfunctionhttp($url,$params,$method='GET',$header=array(),$multi=false){
$opts=array(CURLOPT_TIMEOUT=>30,CURLOPT_RETURNTRANSFER=>1,CURLOPT_SSL_VERIFYPEER=>false,CURLOPT_SSL_VERIFYHOST=>false,CURLOPT_HTTPHEADER=>$header);
/*根据请求类型设置特定参数*/
switch(strtoupper($method)){
case'GET':
$opts[CURLOPT_URL]=$url.'&'.http_build_query($params);
dump($opts[CURLOPT_URL]);
break;
case'POST':
//判断是否传输文件
$params=$multi?$params:http_build_query($params);
$opts[CURLOPT_URL]=$url;
dump($opts[CURLOPT_URL]);
$opts[CURLOPT_POST]=1;
$opts[CURLOPT_POSTFIELDS]=$params;
break;
default:
thrownewException('不支持的请求方式!');
}
/*初始化并执行curl请求*/
$ch=curl_init();
curl_setopt_array($ch,$opts);
$data=curl_exec($ch);
$error=curl_error($ch);
curl_close($ch);
if($error)
thrownewException('请求发生错误:'.$error);
return$data;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《phpcurl用法总结》、《phpsocket用法总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。