PHP调用API接口的方法
php实现API接口的代码,能过百度的API接口实现用获取城市名的功能,是学习PHP API开发的不错实例.可以研究一下,这种方式可以结合网站,微信,手机都可以调用,不用再写原生PHP程序再去访问后端数据库
/*百度API 通过IP获取相应的城市*/
$ip=$_SERVER["HTTP_CLIENT_IP"]);
$link='http://api.map.baidu.com/location/ip?ak=ZeDp7DTFVGS5fXiKhXRoTLl7&ip='.$ip;
$url=postget($link);
$ip_data = json_decode($url); //json格式解码
$data=(array)$ip_data; //转换为数组供程序调用
if($data['code']){
$city='未知';
}else{
$info=$data['content']->address_detail;
$city=$data['content']->address_detail->city;
}
/*
***用Curl的方式请求接口,返回JSON数据
***@url:接口地址
***@params:传递的参数
***@ispost:是否以POST提交,默认GET
*/
function postget($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_0 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
#echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
推荐文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
稳定
产品高可用性高并发贴心
项目群及时沟通专业
产品经理1v1支持快速
MVP模式小步快跑承诺
我们选择声誉坚持
10年专注高端品质开发