Home > Article > Backend Development > Detailed explanation of php get and post methods using curl to call interface methods
The first is the client execution method ApiModel.php:
<?php /** * 模拟post进行url请求 * @param string $url * @param array $post_data */ function request_post($url = '',$ispost=true, $post_data = array()) { if (empty($url) || empty($post_data)) { return false; } $o = ""; foreach ( $post_data as $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; } ?>
The client calls the method. You can configure basic information here api.php:
<?php require 'ApiModel.php'; function testAction(){ $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(); ?>
Server's Interface function test.php:
<?php function serverapi(){ $key='57173d6ad842d807443ee0db91fed323'; if($_GET&&$_GET['appkey']=='cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ'||$_POST&&$_POST['key']===$key){ $arr=array('name'=>'huanglu','password'=>'123456'); echo json_encode($arr); }else{ exit('非法访问!'); } } serverapi(); ?>
The above is the detailed content of Detailed explanation of php get and post methods using curl to call interface methods. For more information, please follow other related articles on the PHP Chinese website!