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

JavaScript獲取本機IP地址三種常用方式

 更新時間:2023年12月09日 08:44:59   作者:半獸先生  
在瀏覽器中使用JavaScript獲取本機IP地址是不可行的,因為瀏覽器的安全策略禁止JavaScript訪問這樣的信息,這篇文章主要給大家介紹了關(guān)于JavaScript獲取本機IP地址的三種常用方式,需要的朋友可以參考下

獲取本機IP地址是前端工程師經(jīng)常需要處理的問題。JavaScript 有幾種方法可以獲取客戶端的IP地址。下面是三種獲取本機IP的方法。

方法1:使用第三方 API

一種獲取客戶端IP地址的最簡單方法是使用第三方API??梢允褂靡恍┟赓MAPI,例如ipify.org等來獲取IP地址。下面的代碼片段展示了如何使用 JavaScript 和 API 獲取本機IP地址。

<code>
fetch('https://api.ipify.org?format=json')
.then(response => response.json())
.then(json => console.log(json.ip));
</code>

方法2:使用 WebRTC(需要用戶授權(quán))

WebRTC 是一種 JavaScript API,用于在瀏覽器之間直接傳輸數(shù)據(jù)。它也可以用于獲取客戶端IP地址。該方法通常比使用API更快速和可靠。以下是一些使用 WebRTC 獲取IP地址的代碼。

<code>
var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
var pc = new myPeerConnection({iceServers:[]}), noop = function(){}; 
var localIPs = {};
pc.createDataChannel("");
pc.createOffer().then(function (sdp) {
sdp.sdp.split('\n').forEach(function (line) { 
if (line.indexOf('candidate') < 0) return;
line.match(ipRegex).forEach(function (ip) {
localIPs[ip] = true;
});
});
pc.setLocalDescription(sdp, noop, noop);
}).catch(function (reason) {
console.log(reason);
});
var ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3})/;
var ips = Object.keys(localIPs);
console.log(ips[0]);
</code>

方法3:使用 DNS 查詢

DNS 是一種用于解析主機名為 IP 地址的系統(tǒng)??梢允褂?JavaScript DNS 查詢來獲取本機IP地址。下面是如何使用 JavaScript 進行DNS查詢的示例代碼。

<code>
var request = new XMLHttpRequest();
request.open('GET', 'https://api.ipify.org?format=json', true);
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
console.log(data.ip);
}
};
request.onerror = function () {
console.error('Error occurred during the network request');
};
request.send();
</code>

總結(jié) 

到此這篇關(guān)于JavaScript獲取本機IP地址三種常用方式的文章就介紹到這了,更多相關(guān)JS獲取本機IP地址內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)換膚功能

    JavaScript實現(xiàn)換膚功能

    js換膚功能的實現(xiàn)原理非常簡單,就是使用js切換對應(yīng)的css樣式表文件,本文重點給大家介紹JavaScript實現(xiàn)換膚功能,感興趣的朋友參考下吧
    2017-09-09
  • layer.open提交子頁面的form和layedit文本編輯內(nèi)容的方法

    layer.open提交子頁面的form和layedit文本編輯內(nèi)容的方法

    今天小編就為大家分享一篇layer.open提交子頁面的form和layedit文本編輯內(nèi)容的方法,具有好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序?qū)崿F(xiàn)底部彈出框封裝

    微信小程序?qū)崿F(xiàn)底部彈出框封裝

    這篇文章主要為大家詳細介紹了微信小程序底部彈出框封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 十個JavaScript?lodash中的高頻使用方法整理

    十個JavaScript?lodash中的高頻使用方法整理

    本文梳理lodash中那些高頻使用的超究極無敵好用方法,熟練使用下面的十個方法能夠讓你的代碼原地起飛,為你的開發(fā)之旅極大的減輕心智負擔,快跟隨小編一起學(xué)習一下吧
    2024-01-01
  • JS實現(xiàn)title標題欄文字不間斷滾動顯示效果

    JS實現(xiàn)title標題欄文字不間斷滾動顯示效果

    這篇文章主要介紹了JS實現(xiàn)title標題欄文字不間斷滾動顯示效果,通過javascript時間函數(shù)定時操作動態(tài)修改頁面元素實現(xiàn)滾動效果,需要的朋友可以參考下
    2016-09-09
  • webpack自動打包和熱更新的實現(xiàn)方法

    webpack自動打包和熱更新的實現(xiàn)方法

    這篇文章主要介紹了webpack自動打包和熱更新的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-06-06
  • layui框架與SSM前后臺交互的方法

    layui框架與SSM前后臺交互的方法

    今天小編就為大家分享一篇layui框架與SSM前后臺交互的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 詳解ES6通過WeakMap解決內(nèi)存泄漏問題

    詳解ES6通過WeakMap解決內(nèi)存泄漏問題

    本篇文章主要介紹了詳解ES6通過WeakMap解決內(nèi)存泄漏問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • js數(shù)字轉(zhuǎn)中文兩種實現(xiàn)方法

    js數(shù)字轉(zhuǎn)中文兩種實現(xiàn)方法

    在前端開發(fā)中有時候會需要到將阿拉伯數(shù)字轉(zhuǎn)化為中文,當前做個記錄,提供自己之后翻閱,這篇文章主要給大家介紹了關(guān)于js數(shù)字轉(zhuǎn)中文兩種實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 微信小程序純文本實現(xiàn)@功能

    微信小程序純文本實現(xiàn)@功能

    這篇文章主要介紹了ZZ需求小程序純文本實現(xiàn)@功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04

最新評論