后端请求第三方API并处理数据【PHP】

后端请求第三方API并处理数据

公共封装

 1     /**
 2      * 可以发送https,http方式模拟浏览器请求数据
 3      * $url:完整请求连接
 4      */
 5     private function getApi($url)
 6     {
 7         /*关闭SSL验证*/
 8         $stream_opts = [
 9             "ssl" => [
10                 "verify_peer" => false,
11                 "verify_peer_name" => false,
12             ]
13         ];
14         /*模拟浏览器*/
15         ini_set('user_agent', 'Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19');
16 
17         $resStr = file_get_contents($url, false, stream_context_create($stream_opts));
18 
19         $resJson = json_decode($resStr);    //转json
20 
21         return $resJson;
22     }

 

经纬度转地址

/**
     * 经纬度转地址
     * lat:纬度
     * lon:经度
     **/
    public function toAdd($lat = '', $lon = '')
    {
        $url = 'https://nominatim.openstreetmap.org/reverse';
        if (empty($lat) || empty($lon)) {
            $this->error("返回失败", "经纬度不能为空");  //这里的返回方式是fastadmin封装的方法
        }
        $params = [
            "format" => "json", //类型
            "lat" => $lat,  //纬度
            "lon" => $lon,  //经度
        ];
        $paramstring = http_build_query($params); /*生成 URL-encode 之后的请求字符串*/

        $toUrl = $url . '?' . $paramstring;

        $res = $this->getApi($toUrl); //请求开始
        $this->success("返回成功", $res);  //这里的返回方式是fastadmin封装的方法
}

 

posted @ 2022-06-16 11:27  ヤBestァ玉露い  阅读(171)  评论(0)    收藏  举报