【问题标题】:How to read client's machine IPV4 address?如何读取客户端的机器 IPV4 地址?
【发布时间】:2016-03-21 10:00:52
【问题描述】:

如何从浏览器读取客户端的机器 IP 地址?特别是我需要为 Internet Explorer 执行此操作,因为我们正在为 Intranet 运行我们的应用程序。我可以使用以下代码获取机器名称 -

var network = new ActiveXObject('WScript.Network');
console.log(network.computerName);

非常感谢任何解决方案/想法。我对小程序/任何服务器端编码都很好。谢谢。

【问题讨论】:

    标签: javascript java applet


    【解决方案1】:

    可以使用任何在线服务,例如freegeoip.net

    $.ajax({
      url: '//freegeoip.net/json/',
      datatype: 'json',
      method: 'get',
      success: function(data) {
        $('pre').html("IP Addr::::" + data.ip);
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <pre></pre>

    【讨论】:

    • 谢谢!我想我已经尝试过了,它实际上给出了服务器/网络代理 IP,而不是客户端系统 IP。还有一件事,这些免费网址由于安全原因在组织内部被阻止。
    • @KrishSmith 然后你可以在你的脚本中提供你在对象中引用的 IP。
    【解决方案2】:

    如果客户端在代理或防火墙后面,应该使用它

    request.getHeader("X-FORWARDED-FOR")

    如果客户端没有使用代理或不在任何防火墙后面

    request.getRemoteAddr();
    

    应该可以正常工作 SO最后总结一下整个代码应该是

    String ipAddress  = request.getHeader("X-FORWARDED-FOR");
    if(ipAddress == null)
    {
      ipAddress = request.getRemoteAddr();
    }
    System.out.println("ipAddress:"+ipAddress);
    

    您应该查看这些链接 jsp get ip address http://www.coderanch.com/t/293684/JSP/java/client-IP-address-Domain-Java

    【讨论】:

      【解决方案3】:

      我不知道您是否可以使用 ActiveXObject 来做到这一点,但您是否可以包括服务器端?使用 php,您可以使用

      实现它
      $ip=$_SERVER['REMOTE_ADDR'];
      

      或使用java/jsp

      <%=request.getRemoteAddr()%>
      

      【讨论】:

      • 使用这个我们得到服务器IP地址或实际客户端系统所在的网络代理。
      • 你得到连接到你服务器的远程客户端的ip
      猜你喜欢
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 2011-07-22
      • 2016-03-27
      • 1970-01-01
      相关资源
      最近更新 更多