前言
通过第三方网站获取本机公网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