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


相关文章
|
28天前
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
32 1
|
1月前
|
存储 算法 API
【Qt 基本类】QDateTime类在C++中的应用与深度解析
【Qt 基本类】QDateTime类在C++中的应用与深度解析
41 0
|
1月前
|
设计模式 缓存 编译器
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
60 4
|
1月前
|
存储 网络协议 C语言
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
88 0
|
1月前
|
存储 传感器 安全
【串口通信】使用C++和Qt设计和实现串口协议解析器(二)
【串口通信】使用C++和Qt设计和实现串口协议解析器
61 0
|
1月前
|
存储 开发框架 算法
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
117 0
|
1月前
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
45 2
|
1月前
|
XML JSON 算法
C++视角下的Qt按钮:从基础应用到高级定制(一)
C++视角下的Qt按钮:从基础应用到高级定制
91 2
|
1月前
|
Linux 数据处理 C++
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(一)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
80 0
|
1月前
|
XML 安全 C++
DBus类型系统以及在Qt和C++ 中的使用(二)
DBus类型系统以及在Qt和C++ 中的使用
46 0

推荐镜像

更多