php - 如何使用 PHP 代码同时获取 IPv4 和 IPv6 地址?
问题描述
我有一个向另一台服务器发送请求的脚本,但问题是IPv6
不支持,所以如果我发送IPv6
然后给出错误,所以我需要以下两个之一:
IPv4
随时获取地址或- 获取
IPv4
和IPv6
地址
我使用此代码获取IP
地址
function getRealIP()
{
if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_X_FORWARDED"])) {
$ip = $_SERVER["HTTP_X_FORWARDED"];
} elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_FORWARDED"])) {
$ip = $_SERVER["HTTP_FORWARDED"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
// Strip any secondary IP etc from the IP address
if (strpos($ip, ',') > 0) {
$ip = substr($ip, 0, strpos($ip, ','));
}
return $ip;
}
但是这个函数只返回一个IPv
地址。我怎样才能获得所有时间IPv4
或获得两个地址?
解决方案
你不能。
只有请求来自的 IP 地址可用。
没有可靠的方法来识别路由到同一台计算机的其他 IP 地址(我的笔记本电脑目前有 12 个 IP 地址)。
推荐阅读
- matlab - 我可以删除占位符变量以在 Matlab 中节省内存吗?
- jquery - 单击按钮后重新关注输入
- mysql - 使用 REGEXP 在 MySQL 5 中返回特定的捕获组/子字符串
- ruby-on-rails - 具有多个不同ID的表单,如何保存
- excel - 制作列表重置子例程不删除总计行或其包含的公式
- windows - 如何在命令提示符下安装 PolyML
- url-rewriting - IIS 7 URL 重写规则帮助
- artificial-intelligence - 转置表如何与 Hypermax 一起使用?
- r - 我正在尝试从目录中的许多 pdf 中提取关键字和计数
- workflow - 如何跳过失败的 Rundeck 作业?