全国WIFI
聚合数据 官方文档
全国免费的WIFI热点分布
基本说明:
接口地址:http://apis.juhe.cn/wifi/region
返回格式:json/xml
请求方式:get/post
请求示例:http://apis.juhe.cn/wifi/local?key=appkey&city=上海
请求参数说明:
名称 类型 必填 说明
key string 必填 应用APPKEY,申请数据系统分配 扫码关注公众号
city string 必填 城市名urlencode utf8;
page int 选填 页数,默认1
dtype string 选填 返回数据的格式,xml或json,默认json
返回参数说明:
名称 类型 说明
error_code int 返回码
reason string 返回说明
data - 返回结果集
name string 热点名称
intro string 热点介绍
address string 热点地址
google_lat double 谷歌地图纬度
google_lon double 谷歌地图经度
baidu_lat double 百度地图纬度
baidu_lon double 百度地图经度
lat double GPS纬度
lon double GPS经度  
JSON返回示例:
{
	"resultcode": "200",
	"reason": "Return Successd!",
	"result": {
		"data": [{
				"name": "北京市法雨合",
				"intro": "法雨合0层",
				"address": "北京市朝阳区朝阳区三里屯",
				"google_lat": "39.9372423",
				"google_lon": "116.4480615",
				"baidu_lat": "39.942952987502",
				"baidu_lon": "116.45464108129",
				"province": "北京市",
				"city": "北京市"
			}
		],
		"pageinfo": {
			"pnums": 20,
			"current": 1
		}
	}
}
服务级错误码参照
错误码 说明
201803 查询无结果
201802 城市区号不能为空
201805 周边查询无结果
10001 错误的请求KEY
10002 该KEY无请求权限
10003 KEY过期
10004 错误的OPENID
10005 应用未审核超时,请提交认证
10007 未知的请求源
10008 被禁止的IP
10009 被禁止的KEY
10011 当前IP请求超过限制
10012 请求超过次数限制
10013 测试KEY超过请求限制
10014 系统内部异常(调用充值类业务时,请务必联系客服或通过订单查询接口检测订单,避免造成损失)
10020 接口维护
10021 接口停用
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 聚合 全国WIFI 调用类
//----------------------------------
class freeApi{
    private $apiKey = false; //聚合appkey
    private $apiUrl = 'http://apis.juhe.cn/wifi/region';
    public function __construct($apikey){
        $this->apiKey = $apikey;
    }
    /**
     * 将JSON内容转为数据,并返回
     * @param string $content [内容]
     * @return array
     */
    public function returnArray($content){
        return json_decode($content,true);
    }
    /**
     * 获取 全国WIFI 结果
     * @return array
     */
    public function getResult(){
        $params = [
            "city" => "",//城市名urlencode utf8;
            "page" => "",//页数,默认1
            "key" => $this->apiKey,//应用APPKEY(应用详细页查询)
            "dtype" => "",//返回数据的格式,xml或json,默认json
        ];
        $params = http_build_query($params);
        return $this->returnArray($this->freeApiCurl($this->apiUrl,$params,1));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        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) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}