zoukankan      html  css  js  c++  java
  • 客户端IP返回::1的解决办法

    刚刚测试程序,一个功能要求获取客户端IP,然而在本机测试过程中发现,客户端(本机)IP始终返回::1,获取 IP 部份的代码如下:

    Code

    于是最终获取倒的是因无法匹配而返回的默认IP 0.0.0.0

     google了一下,没有结果。

    继续想办法。发现不影响获取其它客户端(非本机)IP。根据此现象,我想应该是localhost引起的,于是查看host映射,果然发现::1

    (Host映射查看方法 C:\Windows\System32\drivers\etc  文件hosts)

    # Copyright (c) 1993-2006 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host

    127.0.0.1       localhost
    ::1             localhost

    原来是因为操作系统开启了IPV6,它对localhost进行了映射的原因。如果我们需要获取的IP是IPV4的,那么可以删掉::1映射。

    如果将来我们需要获取的是IPV6的IP,那么就需要这样的映射。然后程序里统一实现获取IPv6的代码。

    KidYang
  • 相关阅读:
    关于点击率模型,你知道这三点就够了
    【AI】Computing Machinery and Intelligence
    MATLAB 的函数句柄
    MATLAB 的unique函数——数组矩阵的唯一值
    MATLAB 的数据导入与导出
    MATLAB 的函数
    MATLAB 向量
    MATLAB 的break语句和continue语句
    MATLAB 的循环语句
    MATLAB 的条件分支语句
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/1353544.html
Copyright © 2011-2022 走看看