JavaScript 獲取訪(fǎng)問(wèn)地址IP
在現(xiàn)代互聯(lián)網(wǎng)時(shí)代,想要獲取訪(fǎng)問(wèn)地址的IP地址已經(jīng)變得非常重要和常見(jiàn)。這在很多應(yīng)用中都是必須實(shí)現(xiàn)的功能,比如網(wǎng)站防止惡意攻擊、統(tǒng)計(jì)訪(fǎng)客來(lái)源等等。而JavaScript的獲取IP地址的方法也非常的簡(jiǎn)單,下面我們一起來(lái)看一下:
方法一: 使用Ajax獲取z
通過(guò)向服務(wù)器發(fā)送請(qǐng)求獲取IP地址,對(duì)于大多數(shù)情況而言是最為保險(xiǎn)的方式。代碼如下: function getIP() { $.getJSON("https://api.ipify.org?format=json", function (data) { console.log(data.ip); }); }
方法二:使用外部接口獲取
在網(wǎng)絡(luò)上,還有很多外部API提供IP地址的接口,比如IP-API和Ipinfo等。代碼如下: //使用IP-API來(lái)獲取IP地址 function getIP() { $.getJSON("https://ipapi.co/json/", function (data) { console.log(data.ip); }); } //使用Ipinfo來(lái)獲取IP地址 function getIP() { $.getJSON("https://ipinfo.io/json", function (data) { console.log(data.ip); }); }
方法三:使用瀏覽器的方法獲取
不同的瀏覽器提供了不同的方法來(lái)獲取IP地址,比如Firefox瀏覽器提供了RTCPeerConnection對(duì)象,可以通過(guò)調(diào)用getStats方法獲取本地IP地址。代碼如下: var pc = new RTCPeerConnection(); pc.createOffer(function (sdp) { pc.setLocalDescription(sdp); }, function onerror() { }); pc.onicecandidate = function (evt) { if (evt.candidate) { console.log(evt.candidate.candidate.match(/(?:\d{1,3}\.){3}\d{1,3}/)[0]); } pc.close(); };
這三種方式都能夠順利獲取訪(fǎng)問(wèn)地址的IP地址,在實(shí)際應(yīng)用中可以根據(jù)需要選擇其中一種或者多種方式來(lái)完成需求。
上一篇php opssl解密
下一篇python短路邏輯言