首页 >后端开发 >PHP问题 >php如何查询邮编

php如何查询邮编

藏色散人
藏色散人原创
2022-10-21 17:28:241808浏览

php查询邮编的方法:1、申请邮编查询接口;2、配置申请的appkey;3、应用appkey,并应用详细页查询;4、通过“function juhecurl($url,$params=false,$ispost=0){...}”方式请求接口返回内容即可。

php如何查询邮编

本教程操作环境: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视频教程

以上是php如何查询邮编的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn