我需要获取服务器的 IP 地址,以便可以将其与键/值字符串集合一起发送到支付网关提供商。
我正在运行 localhost,并且Request.ServerVariables["LOCAL_ADDR"]
正在返回::1
我收到的验证错误是从 Sage Pay 返回的:
ClientIPAddress 格式无效。不应包含前导零,并且仅包含 0 到 255 范围内的值。
为什么会这样,以及如何获取要发送的有效 IP 地址?
我需要获取服务器的 IP 地址,以便可以将其与键/值字符串集合一起发送到支付网关提供商。
我正在运行 localhost,并且Request.ServerVariables["LOCAL_ADDR"]
正在返回::1
我收到的验证错误是从 Sage Pay 返回的:
ClientIPAddress 格式无效。不应包含前导零,并且仅包含 0 到 255 范围内的值。
为什么会这样,以及如何获取要发送的有效 IP 地址?
在本地网络适配器上禁用 IPv6。::1 表示 IPv6 中的“本地主机”。然后你会得到正常的 IPv4 127.0.0.1
无论如何 ::1 是一个 *VALID* IP 地址..
更多关于 LOCALHOST 定义:http ://en.wikipedia.org/wiki/Localhost
对于IPv4通信,计算机系统的虚拟环回接口通常分配有地址127.0.0.1,子网掩码为 255.0.0.0。根据使用的特定操作系统(特别是在 Linux 和 Microsoft Windows 中)和安装的路由机制,这会在本地系统的路由表中填充一个条目,以便发往 127.0.0.0/8 块中任何地址的数据包将内部路由到网络环回设备。
另一方面,在IPv6中,环回路由前缀 ::1/128 仅包含一个地址::1(完整表示为 0:0:0:0:0:0:0:1,地址为最低有效位,否则为零)被明确定义为环回地址,[6] 尽管主机管理员可以根据需要将其他地址分配给环回接口。