Flutter flatterweb获取本地IP

Flutter flatterweb获取本地IP,flutter,web,ip-address,Flutter,Web,Ip Address,我正在尝试在一个Flitter Web应用程序中获取本地IP地址。在互联网上搜索时,我发现了这个软件包:get_ip0.4.0-它声明它在web下工作 我有这个功能: Future<void> initPlatformState() async { print("Test"); String ipAddress; // Platform messages may fail, so we use a try/catch PlatformExc

我正在尝试在一个Flitter Web应用程序中获取本地IP地址。在互联网上搜索时,我发现了这个软件包:
get_ip
0.4.0-它声明它在web下工作

我有这个功能:

Future<void> initPlatformState() async {
    print("Test");
    String ipAddress;
    // Platform messages may fail, so we use a try/catch PlatformException.
    try {
      ipAddress = await GetIp.ipAddress;
    } on PlatformException {
      ipAddress = 'Failed to get ipAddress.';
    } on Exception {
      print("Exception");
    }

    print("Ip: $ipAddress");
  }
Future initPlatformState()异步{
打印(“测试”);
字符串地址;
//平台消息可能会失败,因此我们使用try/catch PlatformException。
试一试{
ipAddress=等待GetIp.ipAddress;
}平台异常{
ipAddress='获取ipAddress失败';
}例外{
打印(“例外”);
}
打印(“Ip:$ipAddress”);
}
我在
main.dart
initState
中调用它

控制台只输出
测试
,不输出IP或
异常

有人已经用过这个软件包了吗?web应用程序是否有其他方式获取本地IP

(我正在使用MacOS)

该软件包声明它支持Android/iOS。 因此,您可以直接与端点进行交互,而不用使用包。 查看他们的API文档了解更多信息!
Future getIP()异步{
试一试{
常量url=https://api.ipify.org';
var response=wait http.get(url);
如果(response.statusCode==200){
打印(响应.正文);
返回响应.body;
}否则{
打印(响应.正文);
返回null;
}
}捕获(例外){
打印(例外);
返回null;
}
}
该软件包声明它支持Android/iOS。 因此,您可以直接与端点进行交互,而不用使用包。 查看他们的API文档了解更多信息!
Future getIP()异步{
试一试{
常量url=https://api.ipify.org';
var response=wait http.get(url);
如果(response.statusCode==200){
打印(响应.正文);
返回响应.body;
}否则{
打印(响应.正文);
返回null;
}
}捕获(例外){
打印(例外);
返回null;
}

}
我正在使用ip\u geolocation\u api包获取ip地址,它正在按预期工作

  String text = '';
  GeolocationData geolocationData;

  @override
  void initState() {
    super.initState();
    this.getIp();
  }

  Future<void> getIp() async {
    geolocationData = await GeolocationAPI.getData();
    if (geolocationData != null) {
      setState(() {
        text = geolocationData.ip;
        print(text);
      });
    }
  }
String text='';
地理定位数据;
@凌驾
void initState(){
super.initState();
这个.getIp();
}
未来的getIp()异步{
geolocationData=等待GeolocationAPI.getData();
if(geolocationData!=null){
设置状态(){
text=geolocationData.ip;
印刷品(文本);
});
}
}

现在,文本变量中有了IP。

我正在使用IP\u geolocation\u api包获取IP地址,它正在按预期工作

  String text = '';
  GeolocationData geolocationData;

  @override
  void initState() {
    super.initState();
    this.getIp();
  }

  Future<void> getIp() async {
    geolocationData = await GeolocationAPI.getData();
    if (geolocationData != null) {
      setState(() {
        text = geolocationData.ip;
        print(text);
      });
    }
  }
String text='';
地理定位数据;
@凌驾
void initState(){
super.initState();
这个.getIp();
}
未来的getIp()异步{
geolocationData=等待GeolocationAPI.getData();
if(geolocationData!=null){
设置状态(){
text=geolocationData.ip;
印刷品(文本);
});
}
}
现在文本变量中有了IP