首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php获取wan ip地址

使用php获取wan ip地址
EN

Stack Overflow用户
提问于 2009-10-28 19:33:28
回答 4查看 9.7K关注 0票数 3

嗨,伙计们,怎么用php获取我的用户的wan ip地址...

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-28 19:36:47

在典型的LAN设置中,整个LAN通过路由器连接到internet,LAN上的每台计算机将共享一个“外部”的WAN IP (分配给路由器),但每台计算机都有一个“内部”的LAN IP (通常为192.168..)。

在这种情况下,该LAN上任何计算机发出的所有外部请求看起来都来自同一个WAN IP。路由器本身将知道请求属于LAN上的哪台计算机,因此PHP无法检测LAN IP,只能检测WAN IP (通过$_SERVER‘’REMOTE_ADDR‘元素)

如果请求是内部的(比如对同一LAN上的HTTP服务器的请求),则$_ server‘’REMOTE_ADDR‘元素将保留发出请求的计算机的LAN IP。

简而言之,服务器只知道发送请求的设备的IP,而不管该IP是否属于LAN、WAN或任何其他类型的网络。

票数 1
EN

Stack Overflow用户

发布于 2013-07-22 22:39:21

我发现最好的选择是使用最新的WhatIsMyIPAddress接口http://bot.whatismyipaddress.com,建议每5分钟查询一次[Source]。它以明文形式返回WAN IP,因此使用

代码语言:javascript
复制
file_get_contents("http://bot.whatismyipaddress.com"); 

无需任何后期解析即可轻松获取IP地址。

票数 6
EN

Stack Overflow用户

发布于 2009-10-29 02:04:13

$_SERVER‘’REMOTE_ADDR‘将为您提供发出HTTP请求的IP地址。如果你指的是“用户”作为浏览你网站的人,那么这很可能就是你要找的。

如果您指的是‘执行用户’拥有的WAN IP,您可以使用以下行来获取服务器的WAN IP

$wanIP=file_get_contents("http://www.whatismyip.com/automation/n09230945.asp");

请记住,这将建立一个域名系统和whatismyip.com的超文本传输协议连接,这将减慢您的站点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1636695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档