由于腾讯提供的fw.qq.com/ipaddress接口已失效并返回500错误,本文介绍了一种基于国外服务的JavaScript获取客户端IP的替代方案。通过引入特定脚本,开发者可以获取用户IP地址及主机信息。文章详细说明了如何配置参数以隐藏页面显示,仅在后端逻辑中获取IP变量VIH_HostIP,适用于需要静默获取网络信息的场景。
原有腾讯IP接口及失效情况
以往调用该接口的标准写法为:<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>。该脚本执行后会返回包含用户IP和地理位置信息的数组,例如:var IPData = new Array("220.181.108.85","","北京市","")。开发者通常直接通过IPData[0]提取用户IP地址。
然而近期该接口已无法正常使用,访问时提示“HTTP 500 内部服务器错误”,导致原有依赖该接口的功能失效。
javascript获得客户端IP的又一方法
针对上述问题,发现另一种由国外网站提供的获取客户端IP的服务。具体使用方式如下所述。
基于国外服务的IP获取方案
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
执行脚本后,页面将显示如下信息:
You are visiting from:
IP Address: 117.87.4.102
Host: 102.4.87.117.broad.xz.js.dynamic.163data.com.cn
若仅需在代码中获取IP用于其他逻辑处理,而不希望在网页上展示相关信息,可将脚本中的配置项VIH_DisplayOnPage的值从"yes"修改为"no"。此时,IP地址将被存储在变量VIH_HostIP中。具体调用代码如下:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]