详解php用curl调用接口方法,get和post两种方式
2018-09-07 15:20
首先是客户端执行方法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; } ?>
客户端调用方法,可以在此配置基本信息api.php:
<?php require ApiModel.php; function testAction(){ $url = 接口地址 //$post_data = array(); $res = request_post($url,$ispost=true,$post_data); print_r($res); } testAction(); ?>
服务器的接口函数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(); ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
文章标题:详解php用curl调用接口方法,get和post两种方式
文章链接:http://soscw.com/essay/14374.html