我怎样才能以编程方式获取从互联网上看到的我的网络的IP地址?显然,我的路由器在连接到 ISP 时可以访问该属性。有没有办法使用标准协议从路由器获取此信息。我唯一的选择是要么找到一个返回我的IP地址的WS(非常难做到),要么就去类似的地方Whatismyip.com http://www.whatismyip.com并删除所有 HTML(非常脏且容易更改)。还有别的办法吗???
不要抓取whatismyip.com,请参阅here http://whatismyip.com/automation.asp了解如何调用他们的 API(仅返回您的地址)。
如果您不使用它,则必须自己编写类似的内容,即路由器之外的主机可以报告您的明显地址。
请注意,网络服务器可能看不到您真实的 WAN IP 地址,因为:
您的 ISP 可能是透明的
代理 HTTP 流量,服务器将看到该代理的 IP
代理人。在这种情况下,您通常会
需要寻找并解析X-转发-For http://en.wikipedia.org/wiki/X-Forwarded-For header.
或者,正如 Olaf 指出的,您和开放的互联网之间可能存在另一个 NAT 路由器,换句话说,就是 WAN 地址your路由器位于专用网络上。您从 Whatismyip.com 等服务中获得的最好结果是最外层 NAT 路由器的 IP。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)