1. 程式人生 > >使用js獲取客戶端本地ip,不需要額外引入別的檔案

使用js獲取客戶端本地ip,不需要額外引入別的檔案

網上找了好久,一直沒找到,後來翻牆谷歌找到的

直接貼程式碼:

<script type="text/javascript">
function getUserIP(onNewIP) { //  onNewIp - your listener function for new IPs
      //compatibility for firefox and chrome
      var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
      var pc = new myPeerConnection({
         iceServers: []
     }),
     noop = function() {},
     localIPs = {},
     ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
     key;
 
     function iterateIP(ip) {
         if (!localIPs[ip]) onNewIP(ip);
         localIPs[ip] = true;
    }
 
      //create a bogus data channel
     pc.createDataChannel("");
 
     // create offer and set local description
     pc.createOffer().then(function(sdp) {
         sdp.sdp.split('\n').forEach(function(line) {
             if (line.indexOf('candidate') < 0) return;
             line.match(ipRegex).forEach(iterateIP);
         });
         
         pc.setLocalDescription(sdp, noop, noop);
     }).catch(function(reason) {
         // An error occurred, so handle the failure to connect
     });
 
     //sten for candidate events
     pc.onicecandidate = function(ice) {
         if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
         ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
     };
}
 
// Usage
 
getUserIP(function(ip){
     alert("Got IP! :" + ip);
});

</script>

程式碼放上就能用,改都不用改

相關推薦

使用js獲取客戶本地ip,需要額外引入別的檔案

網上找了好久,一直沒找到,後來翻牆谷歌找到的直接貼程式碼:<script type="text/javascript">function getUserIP(onNewIP) { //  onNewIp - your listener function for n

js獲取客戶本地ip

使用js獲取客戶端本地ip,不需要額外引入別的檔案 【注:若IE瀏覽器不進行安全設定,IE瀏覽器會預設攔截ActiveX控制元件的使用,將不會返回客戶端的IP地址】 下邊的程式碼使用於通用瀏覽器,但是IE瀏覽器必須去設定ActiveX控制元件。 <!DOCTYPE html> <h

原生js獲取客戶本地ip

function getUserIP(onNewIP) { // onNewIp - your listener function for new IPs //compatibility for firefox and chrome var myPeerConnection = w

JS獲取客戶IP地址、MAC和主機名的7個方法彙總

這篇文章主要介紹了JS獲取客戶端IP地址、MAC和主機名的7個方法彙總,JS本身是不支援獲取IP地址等資訊的,本文通過其它方法實現,需要的朋友可以參考下 今天在搞JS(javascript)獲取客戶端IP的小程式,上網搜了下,好多在現在的系統和瀏覽器中的都無效,很無奈,在C

java程式碼中得到本地ip地址。獲取客戶請求IP(終端使用者的網際網路或內網IP地址)

 private static String getLocalIP() throws Exception{    String localIP = "";    InetAddress addr = (InetAddress) InetAddress.getLocalHos

js獲取客戶IP及地理位置

[php] view plain copy  print? 1.<?php      2.function get_ip_place(){      3.$ip=file_get_contents("http://fw.qq.com/ipaddress");      4.$ip=str

php 獲取客戶ip、地理資訊、瀏覽器資訊、本地真實ip

<?php // 作用取得客戶端的ip、地理資訊、瀏覽器、本地真實IP class get_gust_info { ////獲得訪客瀏覽器型別 function GetBrowser(){ if(!empty($_SERVER['HTTP_U

js獲取客戶ip/地理位置的方法

獲取ip有兩種方式,下面分別對每種方法進行研究。 1. 通過script標籤引入url 比如如下程式碼: <script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf

JS獲取客戶IP地址與機器名

獲取機器名 <script   language=javascript>     var   WshShell   =new   ActiveXObject("WScript.Shell");     alert("計算機名   =   "+   WshShell

js獲取客戶Ip,城市地址

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>獲取客戶端IP</title> <

nginx代理,tomcat部署服務器,後獲取客戶真實ip

nginx代理 獲取真實ip 1、環境部署說明後端部署在tomcat服務器上,前端用nginx做代理訪問tomcat部署目錄nginx配置:upstream wcfront{ server localhost:8991;//後臺接口 } server { listen

Java正確獲取客戶真實IP方法整理

urn con spa syn 服務器端 span tar url 自己的 在JSP裏,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶端的真實

在python中用BaseHTTPRequestHandler模組兒時獲取客戶ip和埠

1、在python安裝路徑下找到E:\Program Files\Python25\Lib\SocketServer.py 2,由於python原裝模組並沒有為我們提供獲取客戶端IP地址和port的介面(至少目前我沒有找到),因此需要自己動手豐衣足食了。修改SocketServer中程式碼,在其

負載均衡後獲取客戶真實ip

String ip3=request.getRemoteAddr(); 如果沒有配負載均衡,則request.getRemoteAddr() 獲取的就是真實客戶端IP,如果配了nginx負載均衡,則request.getRemoteAddr() 獲取的是負載均衡nginx伺服器的ip,而不是真實

nginx反向代理後應用程式如何獲取客戶真實IP

nginx反向代理後應用程式如何獲取客戶端真實IP? 2017年10月30日 10:32:03 it_0101 閱讀數:6200 標籤: tomcatjavawebnginx應用伺服器servlet 更多 個人分類: 學習經驗伺服器 版權宣告

多級nginx代理,獲取客戶真實ip

今天服務裡的微信公眾號支付業務突然不能用了,報錯為網路環境未能通過安全驗證,請稍後再試。檢查後端日誌,沒有任何問題,看來是成功建立支付訂單,但是調起支付時出現了問題。上網查了一下,這個報錯的直接原因是傳入的客戶端ip與調起支付的ip不符。但是印象中我在程式碼中獲取的是X-Forwarded-For,就是請求來

獲取客戶真實ip地址

String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("

Java Web 獲取客戶真實IP

發生的場景:伺服器端接收客戶端請求的時候,一般需要進行簽名驗證,客戶端IP限定等情況,在進行客戶端IP限定的時候,需要首先獲取該真實的IP。一般分為兩種情況: 方式一、客戶端未經過代理,直接訪問伺服器端(nginx,squid,haproxy); 方式二、客戶

Java獲取客戶真實IP地址的兩種方法

在JSP裡,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟體就不能獲取到客戶端的真實IP地址了。     如果使用了反向代理軟體,將http://192.168

Jetty/Tomcat + Nginx反向代理獲取客戶真實IP、域名、協議、埠

問題 Nginx反向代理後,Servlet應用通過request.getRemoteAddr()取到的IP是Nginx的IP地址,並非客戶端真實IP,通過request.getRequestURL()獲取的域名、協議、埠都是Nginx訪問Web應用時的域名、協