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年專注高端品質開發