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方法取数据)的更多相关文章
- php读取qqwry.dat ip地址定位文件的类
<?php// +----------------------------------------------------------------------// |// +---------- ...
- ip地址定位库
ip2region 1.2.1 发布了,新增 Python 内存查询+数据文件更新. 准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, ...
- 获取客户端IP地址定位城市信息
获取客户端IP地址定位城市信息 1.首先获取客户端的IP地址 function getIPaddress(){ $IPaddress=''; if (isset($_SERVER)){ if (iss ...
- 通过IP地址定位准确的地理位置
事情的经过时这样的: 朋友发来一封QQ邮件原文,询问里面显示的IP地址是不是真是的IP地址.然后,我就解锁了一项新技能:通过IP地址定位准确的地理位置 在这里收藏一下这个网址:http://www.8 ...
- thinkphp的ip地址定位
在WEB应用中,根据IP地址定位和记录相关访问日志也是非常常见的需求,在ThinkPHP中你可以轻松的实现IP地址获取和定位. 获取扩展类库 可以在官网的http://www.thinkphp.cn/ ...
- 准确率99.9%的离线IP地址定位库
Ip2region是什么? ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nod ...
- 纯真IP根据IP地址获得地址
<?php /** * 纯真IP根据IP地址获得地址 */ class ipLocation { public $fp; public $firstip; //第一条ip索引的偏移地址 publ ...
- CIDR详解和ip最长地址前缀匹配
1.CIDR是什么 无类域间路由(CIDR)编址方案 摒弃传统的基于类的地址分配方式,允许使用任意长度的地址前缀,有效提高地址空间的利用率. 就是一个ip加一个网络掩码,不过这个掩码不是之前只有3个值 ...
- 获得Unix/Linux系统中的IP、MAC地址等信息
获得Unix/Linux系统中的IP.MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言. Unix/Linux. 网络编程 ②手册 | 4,471 次阅读 ...
随机推荐
- jquery简单判断PC端还是移动端
$(function(){ if (!navigator.userAgent.match(/mobile/i)) { //PC端 }else{ //移动端 } })
- EBS OAF 开发中的OAMessageRadioGroup控件
EBS OAF 开发中的OAMessageRadioGroup控件 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 RadioGro ...
- asp.net MVC过滤器的用法(转)
转自:http://www.studyofnet.com/news/257.html APS.NET MVC中的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再 ...
- iOS 纯代码适配iPhone6,6+
链接地址:http://blog.csdn.net/codywangziham01/article/details/37658399 转自:http://www.maxiaoguo.com/cloth ...
- JQuery中的倒计时
//一分钟后执行xianshi这个事件 setTimeout(function() {xianshi();}, ); //0.1秒执行一次xianshi这个事件 setInterval(functio ...
- sqlserver 只有函数和扩展存储过程才能从函数内部执行
一个SQLServer的自定义函数中调用一个自定义的存储过程,执行此函数后发出如下提示:“只有函数和扩展存储过程才能从函数内部执行". 原因:函数只能使用简单的sql语句,逻辑控制语句,复杂 ...
- python自学笔记(四)python基本数据类型之元组、集合、字典
一.元组tuple 特性 1.有序集合 2.通过偏移来取数据 3.不可变对象,不能在原地修改内存,没有排序.修改等操作 元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法,确保不会改变我们 ...
- float编码杂谈
浮点数的编码转换采用的是IEEE规定的编码标准,float和double 这两种类型的数据的转换原理相同,但是由于范围不一样,编码方式有些区别.IEEE规定的编码会将一个浮点数转换为二进制数.以科学计 ...
- 修改LVDS支持1024*600分辨率
一.在boot中增加LVDS设置分辨率1024*600选项 1.修改文件TQIMX6_android-4.2.2\bootable\bootloader\uboot-imx\common\cmd_me ...
- SubLime BracketHighlighter 配置
很多插件在github上都有比较详细的说明 告知安装位置什么的一般来说 插件都是放在Packages目录里面的 从Github上下载 解压得到的文件夹然后放入到Packages中这个目录在哪里呢 ...