我正在用AS3在Adobe Air 2中构建一个应用程序,需要获得用户的ip地址。据我所知,这段代码应该可以工作,但跟踪:"::1“而不是ip。谢谢。
var netInterfaces = NetworkInfo.networkInfo.findInterfaces();
var addresses = netInterfaces[0].addresses;
var userIp = addresses[0].address;
trace(userIp);发布于 2010-07-03 15:09:05
您编写的代码实际上返回它找到的第一个网络接口的ip地址。在您的情况下,这是用于本地连接的所谓环回设备
使用IP4时,ip地址将为127.0.0.1
对于IP6,ip地址是::1
发布于 2011-12-18 01:54:12
如果您想要真实的IP而不是您的本地主机,请使用以下命令:
private function getIp():String{
var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
var addresses:Vector.<InterfaceAddress> = netInterfaces[1].addresses;
return addresses[0].address;
}如果你使用的是Android,别忘了设置权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>发布于 2011-12-19 21:59:40
尝尝这个
var netInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
if (netInterfaces && netInterfaces.length > 0) {
for each (var i:NetworkInterface in netInterfaces) {
if (i.active) {
var addresses:Vector.<InterfaceAddress> =i.addresses;
for each (var j:InterfaceAddress in addresses) {
trace("- Host : " + j.address);
}
}
}
}https://stackoverflow.com/questions/3170585
复制相似问题