欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue前端通過騰訊接口獲取用戶ip的全過程

 更新時間:2022年12月21日 14:06:21   作者:莫諾庫諾  
今天在寫項目掉接口的時候有一個接口需要到了用戶的ip地址,查了半天覺得這個方法不錯,下面這篇文章主要給大家介紹了關(guān)于vue前端通過騰訊接口獲取用戶ip的相關(guān)資料,需要的朋友可以參考下

前言

之前在前端項目中獲取用戶ip的方式一直用的是搜狐的接口:http://pv.sohu.com/cityjson?ie=utf-8%22,同時這也是網(wǎng)上分享次數(shù)最多的接口,雖說提供的信息很少,但因為使用起來方便快捷,且基本沒什么限制,所以還是挺不錯的。但不知怎的,最新經(jīng)常在調(diào)用時出現(xiàn)403Forbidden,要么就是胡亂給ip和地區(qū),總之就是沒法用。
沒辦法,是時候另尋他途了。在經(jīng)過一番挑選后,最終選擇了騰訊的位置信息服務(wù)。其它可選的還有百度、高德、天地圖等。

騰訊位置服務(wù)

官網(wǎng):https://lbs.qq.com/

開發(fā)文檔:https://lbs.qq.com/service/webService/webServiceGuide/webServiceIp

騰訊位置服務(wù)提供了非常多的地圖和位置相關(guān)的功能,而我只用了其中的IP定位,頗有點殺雞用牛刀的感覺。對于個人開發(fā)者,騰訊提供了10000次/天的調(diào)用量,并發(fā)上限為5次/秒,用于訪問量不大的個人網(wǎng)頁還是夠用的。但是擴充配額只有成為企業(yè)開發(fā)者才能申請,所以對于訪問量較大的個人網(wǎng)址,只能選別的了。

使用方法

1.注冊賬號并登錄控制臺

2.創(chuàng)建應(yīng)用并添加key

在控制臺中點擊我的應(yīng)用,然后點擊創(chuàng)建應(yīng)用,信息可以隨意填。

創(chuàng)建好應(yīng)用后,點擊應(yīng)用內(nèi)的添加key

啟用產(chǎn)品中,按照自己的需求選擇類型,這里我根據(jù)需要選擇WebServiceAPI,并在白名單內(nèi)填入域名。

3.獲取調(diào)用URL

進入WebServiceAPI開發(fā)文檔,選擇IP定位,可以看到調(diào)用方式為URL+key。文檔下方有調(diào)用示例,ip為選填,可以不填,那么最終的調(diào)用API為:

https://apis.map.qq.com/ws/location/v1/ip?key=NHLBZ-LRM6U-ER2VE-4RJPZ-VUFVH-27BED

在瀏覽器的地址欄中輸入URL,可以看到返回了相關(guān)的信息:

4.在項目中調(diào)用API獲取IP和地區(qū)信息

以vue項目為例,由于調(diào)用的API屬于第三方地址,直接使用HTTP的get方式發(fā)送請求的話,會導(dǎo)致跨域,解決方式有多種,這里采用JSONP的方式進行解決。

4.1在項目中安裝vue-jsonp

由于Axios并不支持jsonp的請求方式,所以需要安裝第三方插件vue-jsonp。

npm i vue-jsonp -S

4.2調(diào)用API

編寫一個方法用來調(diào)用獲得的api:

import { jsonp } from 'vue-jsonp'
import config from '../config/config.json'
getUserIpConfig() {
	return new Promise((resolve, reject) => {
		jsonp(`https://apis.map.qq.com/ws/location/v1/ip?key=${config.MapKey}`, {
			output: 'jsonp'
		}).then(resp => {
			resolve(resp)
		}).catch(err => {
			console.log(err);
		})
	})
}

由于jsonp是異步調(diào)用,因此外套一層promise,并使用async...await的方式實現(xiàn)同步。

另外需要注意的是,在發(fā)送請求時,請求體里必須加上output: 'jsonp',否則會出現(xiàn)跨域問題。

async getAddress() {
	let positionInfo = await this.getUserIpConfig()
	// ......
}

至此,使用騰訊位置服務(wù)獲取用戶ip的方式介紹完畢。

總結(jié)

到此這篇關(guān)于vue前端通過騰訊接口獲取用戶ip的文章就介紹到這了,更多相關(guān)vue前端獲取用戶ip內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vuex的四個常用核心概念解讀

    Vuex的四個常用核心概念解讀

    本文詳細(xì)解析了Vuex中的四個核心概念及其區(qū)別,包括State用于存儲狀態(tài),Getters用于計算屬性并緩存,Mutations是唯一更改State的同步方法,Actions則用于提交Mutations且支持異步操作
    2024-11-11
  • vue+element 模態(tài)框表格形式的可編輯表單實現(xiàn)

    vue+element 模態(tài)框表格形式的可編輯表單實現(xiàn)

    這篇文章主要介紹了vue+element 模態(tài)框表格形式的可編輯表單實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 使用?Vue3?實現(xiàn)文章目錄功能

    使用?Vue3?實現(xiàn)文章目錄功能

    本文給大家分享如何使用vue3實現(xiàn)文章目錄功能,特色功能主要是自動高亮選中當(dāng)前正在閱讀的章節(jié),自動展開當(dāng)前正在閱讀的章節(jié)的子標(biāo)題,并隱藏其他章節(jié)的子標(biāo)題,代碼簡單易懂,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • vue中組件的name屬性含義和用法示例

    vue中組件的name屬性含義和用法示例

    組件是有name屬性的,匹配的就是組件的name,下面這篇文章主要給大家介紹了關(guān)于vue中組件的name屬性含義和用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • vue 虛擬DOM的原理

    vue 虛擬DOM的原理

    這篇文章主要介紹了vue 虛擬DOM的原理,幫助大家更好的理解和學(xué)習(xí)vue,感興趣的朋友可以了解下
    2020-10-10
  • 用Vue封裝導(dǎo)航欄組件

    用Vue封裝導(dǎo)航欄組件

    這篇文章主要為大家詳細(xì)介紹了用Vue封裝導(dǎo)航欄組件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue3+ts封裝彈窗及封裝分頁的示例代碼

    vue3+ts封裝彈窗及封裝分頁的示例代碼

    這篇文章主要介紹了vue3+ts封裝彈窗及封裝分頁的示例代碼,本文通過定義defaultDialog .vue,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • vue?+?ele?實現(xiàn)下拉選擇框和下拉多選選擇框處理方案

    vue?+?ele?實現(xiàn)下拉選擇框和下拉多選選擇框處理方案

    這篇文章主要介紹了vue?+?ele?實現(xiàn)下拉選擇框和下拉多選選擇框處理方案,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Vue重要修飾符.sync對比v-model的區(qū)別及使用詳解

    Vue重要修飾符.sync對比v-model的區(qū)別及使用詳解

    這篇文章主要為大家介紹了Vue中重要修飾符.sync與v-model的區(qū)別對比及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • vue項目實現(xiàn)img的src動態(tài)賦值

    vue項目實現(xiàn)img的src動態(tài)賦值

    這篇文章主要介紹了vue項目實現(xiàn)img的src動態(tài)賦值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論