php查詢郵編的方法:1、申請郵編查詢介面;2、設定申請的appkey;3、應用appkey,並應用詳細頁查詢;4、通過「function juhecurl($url,$params=false,$ispost=0){...}」方式請求介面返回內容即可。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。
php查詢郵編
郵編查詢介面地址:https://www.juhe.cn/docs/api/id/66?s=cpphpcn
介面說明:全國30多個省市縣的郵編號碼查詢,資料權威準確,數百萬條資料,精確到區、縣、街道。支援按模糊地址、指定區域地址查詢郵編。
程式碼範例:
// +----------------------------------------------------------------------
//----------------------------------
// 郵編查詢呼叫範例程式碼 - 聚合資料
// 線上介面檔案:https://www.juhe.cn/docs/api/id/66?s=cpphpcn
//----------------------------------
header('Content-type:text/html;charset=utf-8');
//設定您申請的appkey
$appkey = "*********************";
//************1.郵編查詢地名************
$url = "http://v.juhe.cn/postcode/query";
$params = array(
"postcode" => "",//郵編,如:215001
"key" => $appkey,//應用APPKEY(應用詳細頁查詢)
"page" => "",//頁數,預設1
"pagesize" => "",//每頁返回,預設:20,最大不超過50
"dtype" => "",//返回資料的格式,xml或json,預設json
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "請求失敗";
}
//**************************************************
//************2.省份城市區域列表************
$url = "http://v.juhe.cn/postcode/pcd";
$params = array(
"key" => $appkey,//應用APPKEY(應用詳細頁查詢)
"dtype" => "",//返回資料的格式,xml或json,預設json
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "請求失敗";
}
//**************************************************
//************3.地名查詢郵編************
$url = "http://v.juhe.cn/postcode/search";
$params = array(
"pid" => "",//省份ID
"cid" => "",//城市ID
"did" => "",//區域ID
"q" => "",//地名關鍵字,如:木瀆
"key" => $appkey,//應用APPKEY(應用詳細頁查詢)
"dtype" => "",//返回資料的格式,xml或json,預設json
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "請求失敗";
}
//**************************************************
/**
* 請求介面返回內容
* @param string $url [請求的URL地址]
* @param string $params [請求的引數]
* @param int $ipost [是否採用POST形式]
* @return string
*/
function juhecurl($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 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;
}
登入後複製
推薦學習:《》
以上就是php如何查詢郵編的詳細內容,更多請關注TW511.COM其它相關文章!