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


目录
打赏
0
0
0
0
8
分享
相关文章
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
256 1
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
335 5
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
326 3
|
9月前
|
【Qt 基本类】QDateTime类在C++中的应用与深度解析
【Qt 基本类】QDateTime类在C++中的应用与深度解析
355 0
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
564 0
【串口通信】使用C++和Qt设计和实现串口协议解析器(二)
【串口通信】使用C++和Qt设计和实现串口协议解析器
665 0
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
1875 0
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
225 1
C++跨平台框架Qt
Qt是一个功能强大的C++跨平台应用程序开发框架,支持Windows、macOS、Linux、Android和iOS等操作系统。它提供了250多个C++类,涵盖GUI设计、数据库操作、网络编程等功能。Qt的核心特点是跨平台性、丰富的类库、信号与槽机制,以及良好的文档和社区支持。Qt Creator是其官方IDE,提供了一整套开发工具,方便创建、编译、调试和运行应用程序。Qt适用于桌面、嵌入式和移动应用开发。
WK
93 5
|
6月前
|
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
130 1
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】

推荐镜像

更多