php 怎么获取内网IP? 50
我使用IP欺骗生成了内网IP,想要获取这些IP,php怎么做?其实,我的计算机即为服务器又为客户端。我使用Loadrunner-IP欺骗弄了好多Ip,就是上图那些,我的网...
我使用IP欺骗生成了内网IP,想要获取这些IP,php怎么做?
其实,我的计算机即为服务器又为客户端。我使用Loadrunner-IP欺骗弄了好多Ip,就是上图那些,我的网址是localhost:80/ip.php,结果我获取的都是::1,我用172.14.17.38/ip.php访问得到的ip是172.14.17.38,我是必须通过改变访问地址才可以获得访问ip吗?
我想用Loadrunner压测的时候他的ip和我程序获得的IP对应,现在程序获得的IP一直是固定的 展开
其实,我的计算机即为服务器又为客户端。我使用Loadrunner-IP欺骗弄了好多Ip,就是上图那些,我的网址是localhost:80/ip.php,结果我获取的都是::1,我用172.14.17.38/ip.php访问得到的ip是172.14.17.38,我是必须通过改变访问地址才可以获得访问ip吗?
我想用Loadrunner压测的时候他的ip和我程序获得的IP对应,现在程序获得的IP一直是固定的 展开
5个回答
展开全部
ip地址分 IPv4和IPV6两个版本。
127.0.0.1或者192.168.0.1之类的,属于IPV4的格式
127.0.0.1转换为IPv6就是 ::1
IPv6具体的格式写法,你搜索一下了解一下。
另外 ,服务端获取ip地址,是相对的。比如你在局域网内建一个服务器,在程序里获取的ip地址,就是客户端在局域网的ip ,一般是类似 192.168.0.101 之类的,大公司的话可能 10.x.x.x
局域网的ip地址,可以直接在网络适配器上看到
而在inter网,也就是大网络上,服务端获取的ip地址,是你的连网设备获取到的公网ip ,一般一个局域网内的主机,相对于因特网上的服务器,显示的都是公网地址。
公网ip没有在本机电脑上直接显示。会显示在路由或者连网设备上。也可以通过百度搜索 ip地址,会显示你的公网ip
所以,假设一个局域网内,有两台电脑同时访问一个网上的服务器,服务器是没办法给两台电脑区分开ip地址的,显示的是一样的。只是可能得到的设备信息不一样(如:浏览器的useragent)
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
PHP如何获取内网IP
<?php
$onlineip = $_SERVER['REMOTE_ADDR'];//服务器在局域网的话,那么显示的则是内网IP
echo $onlineip;
?>
如果服务器在外网的话,那么访问的话获得的是外网的IP
<?php
$onlineip = $_SERVER['REMOTE_ADDR'];//服务器在局域网的话,那么显示的则是内网IP
echo $onlineip;
?>
如果服务器在外网的话,那么访问的话获得的是外网的IP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接上代码:
<?php
class Action
{
function get_inter()
{
$onlineip = '';
if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$onlineip = $_SERVER['REMOTE_ADDR'];
}
return $onlineip;
}
}
?>
---------------------
//调用
include_once ('saveip.php');
$p = new Action();
$intip = $p->get_inter();
<?php
class Action
{
function get_inter()
{
$onlineip = '';
if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$onlineip = $_SERVER['REMOTE_ADDR'];
}
return $onlineip;
}
}
?>
---------------------
//调用
include_once ('saveip.php');
$p = new Action();
$intip = $p->get_inter();
追问
不行,返回的IP是::1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是ip v4,v6的。
其实不管是什么IP。
$_SERVER 里面有你想要的。
还有一种代理ip,很多代码也识别不出来。不然蜘蛛也不会那么多了。
其实不管是什么IP。
$_SERVER 里面有你想要的。
还有一种代理ip,很多代码也识别不出来。不然蜘蛛也不会那么多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先定义一个函数,在用分支解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询