QT通过IP地址定位地址

本文介绍如何在QT应用中通过调用在线API(如ip38或ip138)来实现IP地址的地理位置定位。这种方法依赖网络且在API不可用时可能失效。
摘要由CSDN通过智能技术生成

通过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 nEndIn
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值