详解php用curl调用接口方法,get和post两种方式
首先是客户端执行方法ApiModel.php:
<?php /** *模拟post进行url请求 *@paramstring$url *@paramarray$post_data */ functionrequest_post($url='',$ispost=true,$post_data=array()){ if(empty($url)||empty($post_data)){ returnfalse; } $o=""; foreach($post_dataas$k=>$v) { $o.="$k=".urlencode($v)."&"; } $post_data=substr($o,0,-1); $key=md5(base64_encode($post_data)); if($ispost){ $url=$url; }else{ $url=$url.'?'.$post_data; } $curlPost='key='.$key; header("Content-type:text/html;charset=utf-8"); $ch=curl_init();//初始化curl curl_setopt($ch,CURLOPT_URL,$url);//抓取指定网页 curl_setopt($ch,CURLOPT_HEADER,0);//设置header curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上 if($ispost){ curl_setopt($ch,CURLOPT_POST,1);//post提交方式 curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost); } $data=curl_exec($ch);//运行curl curl_close($ch); return$data; } ?>
客户端调用方法,可以在此配置基本信息api.php:
<?php require'ApiModel.php'; functiontestAction(){ $url='接口地址'; $post_data['appid']='10'; $post_data['appkey']='cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ'; $post_data['member_name']='zsjs124'; $post_data['password']='123456'; $post_data['email']='zsjs124@126.com'; //$post_data=array(); $res=request_post($url,$ispost=true,$post_data); print_r($res); } testAction(); ?>
服务器的接口函数test.php:
<?php functionserverapi(){ $key='57173d6ad842d807443ee0db91fed323'; if($_GET&&$_GET['appkey']=='cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ'||$_POST&&$_POST['key']===$key){ $arr=array('name'=>'huanglu','password'=>'123456'); echojson_encode($arr); }else{ exit('非法访问!'); } } serverapi(); ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。