php 代码实现获取登录用户的局域网ip
时间: 2023-11-26 21:06:35 浏览: 26
你可以使用 $_SERVER['REMOTE_ADDR'] 获取登录用户的公网 IP 地址。如果要获取局域网 IP 地址,可以结合使用 $_SERVER['REMOTE_ADDR'] 与 $_SERVER['HTTP_X_FORWARDED_FOR'],代码如下:
$ip = '';
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = $ips[0];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
echo $ip;
相关问题
android 获取局域网ip
在 Android 中获取局域网IP地址可以使用以下代码:
```java
public String getLocalIpAddress() {
try {
// 获取所有网络接口(即网卡,如wifi、3g、4g等)列表
Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
while (en.hasMoreElements()) {
NetworkInterface intf = en.nextElement();
// 获取该网络接口下的所有IP地址
Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
while (enumIpAddr.hasMoreElements()) {
InetAddress inetAddress = enumIpAddr.nextElement();
// 如果不是回环地址并且是IPv4地址
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
// 返回IP地址
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return null;
}
```
需要注意的是,如果设备同时连接了多个网络,比如同时连接了Wi-Fi和3G网,那么可能会有多个IP地址。这时候可以根据需要选择其中一个IP地址来使用。
C# 获取当前局域网IP
您使用以下代码在C#中获取当前局域网IP地址:
```csharp
using System.Net;
using System.Net.Sockets;
public string GetLocalIPAddress()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
}
throw new Exception("Local IP Address not found.");
}
```
此代码将返回当前计算机在局域网中使用的IPv4地址。请注意,您需要添加以下命名空间:`System.Net`和`System.Net.Sockets`。