有什么办法可以找到浏览器所连接的服务器的IP吗?例如,如果浏览器正在访问http://www.google.com,我们能否以任何方式告诉它连接到哪个IP?这在实施循环DNS的情况下非常有用.因此,第一个请求a.com结果1.1.1.1和后续请求结果1.1.1.2等等.
我用JavaScript无法找到任何方法.它甚至可能吗?如果没有,有没有任何通用的方法来找到这个信息?
Spa*_*key 44
尝试将此作为快捷方式,而不是作为最终解决方案(请参阅注释):
<script type="text/javascript">
var ip = location.host;
alert(ip);
</script>
Run Code Online (Sandbox Code Playgroud)
此解决方案在某些情况下无法运行,但它可以帮助快速测试.问候
Jas*_*rry 12
相当肯定这是不可能完成的.但是,您可以使用首选的服务器端语言将服务器的IP打印到客户端,然后根据需要使用它.例如,在PHP中:
<script type="text/javascript">
var ip = "<?php echo $_SERVER['SERVER_ADDR']; ?>";
alert(ip);
</script>
Run Code Online (Sandbox Code Playgroud)
这取决于您的服务器的安全设置 - 有些可能会阻止这一点.
Mat*_*att 10
不确定如何具体获取IP地址,但位置对象提供了部分答案.
例如,这些变量可能会有所帮助
self.location.host - 设置或检索位置的主机名和端口号self.location.hostname - 设置或检索位置或URL的主机名部分.我认为您可能会使用来自 JSONP 请求的回调,或者可能只是使用外部服务的纯 JSON 数据,但基于 javascript 的输出location.host方式:
$.getJSON( "//freegeoip.net/json/" + window.location.host + "?callback=?", function(data) {
console.warn('Fetching JSON data...');
// Log output to console
console.info(JSON.stringify(data, null, 2));
});
Run Code Online (Sandbox Code Playgroud)
我将使用此代码满足我的个人需求,因为最初我出于同样的原因访问此站点。
您可以使用另一种外部服务,而不是我为满足我的需要而使用的服务。存在一个非常好的列表,其中包含在此处完成的测试/sf/answers/2458616821/
| 归档时间: |
|
| 查看次数: |
98112 次 |
| 最近记录: |