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视频教程》