2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

基于騰訊位置服務(wù)IP定位API接口實現(xiàn)根據(jù)IP定位功能

2022-06-29 12:30 欄目:技術(shù)開發(fā) 查看(12756)

在很多場景我們需要判斷用戶當(dāng)前所處城市位置,但如果是直接獲取用戶的地理坐標(biāo)雖然更為精確,不管是app還是網(wǎng)頁都需要取得用戶授權(quán)。某些場景下,我們希望不打擾用戶,同時對精確度要求也不高,只需要市一級或者區(qū)縣一級的精度即可,這個時候我們就可以用戶的網(wǎng)絡(luò)IP進(jìn)行定位。

利用用戶的IP進(jìn)行定位在網(wǎng)絡(luò)上有很多開放的接口服務(wù),今天我們以騰訊的位置服務(wù)來分享。騰訊位置服務(wù)IP定位API接口有如下特點:

1、不僅支持IPv4,IP定位支持IPv6地址定位;

2、可自動識別局域網(wǎng)內(nèi)網(wǎng)ip;

3、IP定位精度范圍不是固定的,最高精確到區(qū)/縣,最低精確到國家(國內(nèi)ip基本全部能精確到區(qū)/縣);

4、免費配額較高,個人賬號日免費請求次數(shù)最高為1萬(并發(fā)5),企業(yè)賬號日免費請求次數(shù)最高為30萬(500并發(fā)),且注冊為企業(yè)賬號非常簡單,只需要提供營業(yè)執(zhí)照副本即可。

接口地址:

https://apis.map.qq.com/ws/location/v1/ip

請求參數(shù):

QQ截圖20220628155930

返回參數(shù):

QQ截圖20220628160026

返回示例:

QQ截圖20220628160114

下面分享一段示例代碼:

class QqMap{
   private $url='https://apis.map.qq.com';
   private $key='key';
   private $sk='sk';

 ? /**
 ? * ip定位
 ? * @param string $ip ip地址
   * @return string
   */
   public function ip2area($ip){
        $path='/ws/location/v1/ip';
        $data=[
           'ip'=>$ip,
           'key'=>$this->key
        ];
        $data['sig']=$this->sign($path,$data);
        $url=$this->url.$path.'?'.$this->formatBizQueryParaMap($data);
        $res=@file_get_contents($url);
   }

   /**
   * 得到簽名
   * @param string $path 路徑
   * @param array $data 請求參數(shù)
   * @return string
   */
   private function sign($path,$data){
      $string=$this->formatBizQueryParaMap($data);
      return md5($path.'?'.$string.$this->sk);
   }

   /**
   * 將數(shù)組轉(zhuǎn)成url字符串
   * @param array $paraMap
   * @return string
   */
   function formatBizQueryParaMap($paraMap){
     $buff = "";
     ksort($paraMap);
     foreach ($paraMap as $k => $v){
         $buff .= strtolower($k) . "=" . $v . "&";
     }
     $reqPar='';
     if (strlen($buff) > 0){
        $reqPar = substr($buff, 0, strlen($buff)-1);
     }
     return $reqPar;
 }

}

上述示例代碼應(yīng)用于如下在創(chuàng)建應(yīng)用key時選擇“簽名校驗”的場景,所以需要簽名,如果使用域名白名單或授權(quán)IP方式就不需要進(jìn)行簽名。

QQ截圖20220628161447

如何創(chuàng)建應(yīng)用獲取應(yīng)用key?

1、第一步:進(jìn)去應(yīng)用管理端,地址為:https://lbs.qq.com/dev/console/application/mine。

2、第二步:創(chuàng)建一個應(yīng)用。

QQ截圖20220628162116

QQ截圖20220628162159

3、第三步:添加Key。

QQ截圖20220628162316

其中WebServiceAPI可以有三種安全機(jī)制,分別如下:

a、域名白名單:就是填寫域名白名單,僅白名單內(nèi)的域名才可以發(fā)起請求,如果不填就不限制。

b、授權(quán)IP:就是填寫IP白名單,僅白名單內(nèi)的IP才可以發(fā)起請求,如果不填就不限制。

c、簽名校驗:如上述示例代碼就是使用這種方式,需要通過SK參與生成簽名,然后再通過簽名發(fā)起網(wǎng)絡(luò)請求。

與我們的項目經(jīng)理聯(lián)系
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:基于騰訊位置服務(wù)IP定位API接口實現(xiàn)根據(jù)IP定位功能 - 微構(gòu)網(wǎng)絡(luò)
分享:
甘肃省| 土默特左旗| 普安县| 岳池县| 罗江县| 宁陕县| 客服| 济源市| 友谊县| 长春市| 赫章县| 仁化县| 思南县| 莎车县| 雅安市| 黑水县| 遂昌县| 荆门市| 连城县| 武清区| 新乐市| 岳普湖县| 衡阳县| 大同市| 乌审旗| 乌什县| 长子县| 郓城县| 新平| 内江市| 岐山县| 汝阳县| 开鲁县| 红安县| 阿巴嘎旗| 亚东县| 望谟县| 兰溪市| 女性| 商水县| 东阳市|