C++ QT获取本机公网IP和IP所在地

简介: C++ QT获取本机公网IP和IP所在地

前言

通过第三方网站获取本机公网IP和IP所在地


一、原理

C++ Qt通过第三方网站获取本机公网IP和IP所在地的json

二、代码

void getIPAndAddress()
{
  QNetworkAccessManager manager_;
  QNetworkReply *reply = manager_.get(QNetworkRequest(QUrl("http://whois.pconline.com.cn/ipJson.jsp?json=true")));
  QEventLoop loop;
  QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
  loop.exec();
  QString data = QString::fromLocal8Bit(reply->readAll());
  QJsonDocument jsonDocument = QJsonDocument::fromJson(data.toUtf8());
  QJsonObject jsonObject = jsonDocument.object();
  QString ip = jsonObject.value("ip").toString();
  QString address = jsonObject.value("addr").toString().toUtf8();
  qDebug() << "ip:" << ip ;
  qDebug() << "loaction:"<< address ;
  reply->deleteLater();
}

三、运行输出

总结

http://whois.pconline.com.cn/ipJson.jsp?json=true

这个url是可用的

通过它获取本机公网IP和IP所在地的json


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关文章
|
设计模式 缓存 编译器
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
574 5
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
427 1
|
安全 网络协议 数据安全/隐私保护
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
465 3
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
405 2
|
XML JSON 算法
C++视角下的Qt按钮:从基础应用到高级定制(一)
C++视角下的Qt按钮:从基础应用到高级定制
853 2
|
存储 算法 API
【Qt 基本类】QDateTime类在C++中的应用与深度解析
【Qt 基本类】QDateTime类在C++中的应用与深度解析
700 0
|
存储 网络协议 C语言
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
916 0
|
存储 传感器 安全
【串口通信】使用C++和Qt设计和实现串口协议解析器(二)
【串口通信】使用C++和Qt设计和实现串口协议解析器
985 0
|
存储 开发框架 算法
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
3097 0
|
5月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
256 14

推荐镜像

更多
  • qt