Qt如何获取外网IP地址

阅读 58

2023-01-02


直接调用就行:

.returnOutIP();这个方法返回的就是外网IP了~


引用头:

#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QEventLoop>

调用:

QString TcpSever::returnOutIP()
{
return GetNetIP(GetHtml("http://2017.ip138.com/ic.asp"));
}
私有:
QString TcpSever::GetHtml(QString url)
{
QNetworkAccessManager *manager = new QNetworkAccessManager();
QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
QByteArray responseData;
QEventLoop eventLoop;
QObject::connect(manager, SIGNAL(finished(QNetworkReply *)), &eventLoop, SLOT(quit()));
eventLoop.exec();
responseData = reply->readAll();
return QString(responseData);
}
QString TcpSever::GetNetIP(QString webCode)
{
QString tmp = webCode.split("[").last();
return tmp.split("]").first();
}

精彩评论(0)

0 0 举报