javascript 获取我的网页中的IP地址(192.168.X.X,由无线路由器分配)?

r3i60tvu  于 2023-09-29  发布在  Java
关注(0)|答案(4)|浏览(72)

如何获取我网页的内部IP地址?可以是任何用于设计网站的语言(JavaScript,PHP等)。实际上我需要做的是做一个本地Web服务器,并让同一个WiFi网络中的客户端通过其在网页上显示的IP地址(192.168.X.X)连接。但是我总是127.0.0.1在php中得到www.example.com而不是192.168.X.X,有什么想法吗?

ccgok5k5

ccgok5k51#

我通过以下代码解决了这个问题,得到了无线本地IP地址(192.168.X.X):

$myIP = gethostbyname(trim(`hostname`));
xtfmy6hx

xtfmy6hx2#

// PHP < 5.3.0
$Local_IP = @gethostbyname(php_uname('n'));

// PHP >= 5.3.0
$Local_IP = @gethostbyname(getHostName());
xeufq47z

xeufq47z3#

上面给出的大多数方法都可以在实时服务器上完美地工作,但是当您在本地服务器上使用它们时,就会变得有点威胁,并且您至少会得到本地IP 127.0.0.1
我对Windows或其他Linux发行版不太确定,但对于基于Debian的发行版,您可以使用exec()直接从机器上检查它。

$serverIP = exec( "hostname -I" );
echo $serverIP;

# output: 192.168.X.X

注意:我不建议在live服务器上使用此方法,实际上强烈建议您在live/production服务器上禁用exec功能

jxct1oxe

jxct1oxe4#

你只需要把它读进去

$ip = $_SERVER['SERVER_ADDR'];

如果你想知道$_SERVER中所有可用的数据,可以用途:

print("<pre>\n");
print_r($_SERVER);
print("\n</pre>\n");

$_SERVER包含了很多有用的信息。您可能还需要检查:

$_SERVER['LOCAL_ADDR']

相关问题