QT通过IP地址定位地址(用get方法取数据)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT通过IP地址定位地址(用get方法取数据)相关的知识,希望对你有一定的参考价值。

通过IP地址定位地址,是要通过查询数据库,如果自己做一个这样的数据库工作量就比较大,所以在网上找了一个查询IP地址的网址,通过调用这个网址查询来实现,但是这个有一定的弊端,如果没有网络或者这个网址不可用时,就无法查询。具体代码如下:

QEventLoop loop;

    QNetworkAccessManager manager;
    QNetworkReply *pReply = manager.get(QNetworkRequest(QUrl("http://www.ip38.com/")));   // http://www.ip38.com/index.php?ip=您的IP
    connect(pReply, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();
    QByteArray byte = pReply->readAll();
    QString strTemp;

    strTemp = strTemp.fromLocal8Bit(byte.data());
    int nStartIndex = strTemp.indexOf("<div id=\"ipadcode\" style=\"display:none\">");
    if (nStartIndex >= 0)
    {
        nStartIndex += strlen("<div id=\"ipadcode\" style=\"display:none\">");
        int nEndIndex = strTemp.indexOf("</div>", nStartIndex);
        if (nEndIndex > nStartIndex)
        {
            QString strResult = strTemp.mid(nStartIndex + 1, nEndIndex - nStartIndex - 1);
        }

    }

 

上面ip38网站有时会失效,失效时可以使用:http://iframe.ip138.com/ic.asp

http://blog.csdn.net/itjobtxq/article/details/10497261

以上是关于QT通过IP地址定位地址(用get方法取数据)的主要内容,如果未能解决你的问题,请参考以下文章

IP 地址是啥 可以通过它来定位电脑所在位置吗

python requests库爬取网页小实例:ip地址查询

php获取了ip地址,用php怎么获取ip的地理位置?请大虾赐教!

高精度IP地址定位接口的使用场景

javascript调用百度地图通过ip定位 手机浏览器打开浏览不显示街道地址

Thinkphp5.0 根据ip地址的定位与纠错