首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测客户端ipv4和ipv6地址?

问如何检测客户端ipv4和ipv6地址?
EN

Stack Overflow用户
提问于 2013-03-26 03:26:00
回答 3查看 3.5K关注 0票数 1

我想创建一个检测(可能是双栈)客户端的ipv4和ipv6地址的网页,有没有一种简单的方法可以不用框架就能做到?有了frame,我想我可以加载两个页面,每个页面都只能在IPv4或IPv6中使用(两个域名,一个只有A记录,另一个只有AAAA )。有没有另一种简单明了的方法呢?http://test-ipv6.com/可以做到,但我猜他们的实现对于仅仅显示ip地址来说是相当复杂的。谢谢。我正在考虑用php $_SERVER"REMOTE_ADDR“来做这件事,但是如果没有ajax(我不知道怎么用),我怎么才能把它传递给其他页面呢?双栈域名测试页面,1个ipv4回调页面,1个ipv6回调页面。如何将回调传递到测试页面?如果我使用curl之类的东西,我会得到服务器的地址,而不是客户机的地址。

EN

回答 3

Stack Overflow用户

发布于 2013-03-26 05:50:25

你需要AJAX或者框架...您必须额外执行两个请求,一个用于IPv4,另一个用于IPv6。如果没有框架或AJAX,这是不可能在一个HTML页面中完成的。

票数 2
EN

Stack Overflow用户

发布于 2016-05-09 01:37:46

旧帖子,但您需要创建2个子域在您的DNS服务器。第一个应该是IPv4,另一个是IPv6。

在ipv4.subdaomain.com上,仅使用A记录。在ipv6.subdomain.com上使用AAAA记录。

现在,在javascript中向ipv6.subdomain.com和ipv4.subdomain.com发送一个AJAX请求。在php中,返回客户端的ip地址。

票数 0
EN

Stack Overflow用户

发布于 2013-03-26 03:57:55

如果您使用服务器端脚本语言,如PHP,则可以使用以下代码来执行此操作

代码语言:javascript
复制
<?php
function look_me_up()
{
    $records = dns_get_record( trim(`hostname --fqdn`) );
    foreach($records as $record)
    {
        if ($record['type'] == 'A')
            $ip = $record['ip'];
    }
    return $ip;
}
?>

http://php.net/manual/en/function.gethostbyname.php

它不需要在框架中,如果页面不是PHP,您可以使用jquery ajax调用来获取信息。我不清楚你现有页面的所有细节,以便为问题的一部分提出一个好的建议。

祝好运!

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

https://stackoverflow.com/questions/15625655

复制
相关文章

相似问题

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