程序运行截图如下:

原理(原理和爬虫一样):

1.伪造HTTP数据封包头

2.处理爬下来的网站

关键代码如下:

inquireip.h

#ifndef INQUIREIP_H
#define INQUIREIP_H#include <QObject>
#include <QTcpSocket>class InquireIp : public QObject
{Q_OBJECT
public:explicit InquireIp(QObject *parent = 0);void startConnect(const QString host,quint16 port);void setIp(const QString ip);public slots:void onConnected();void onReadyRead();signals:void sendIpLocation(QString msg);protected:void disposeHTTPContent(QString msg);private:QTcpSocket *m_socket;QString m_ip;QString m_httpContent;
};#endif // INQUIREIP_H

inquireip.cpp

#include "inquireip.h"
#include <QDebug>
#include <QTextCodec>
#include <QByteArray>InquireIp::InquireIp(QObject *parent) :QObject(parent),m_socket(0),m_ip("")
{m_ip="127.0.0.1";
}void InquireIp::startConnect(const QString host, quint16 port)
{m_socket=new QTcpSocket(this);connect(m_socket,SIGNAL(connected()),this,SLOT(onConnected()));connect(m_socket,SIGNAL(readyRead()),this,SLOT(onReadyRead()));m_socket->connectToHost(host,port);
}void InquireIp::setIp(const QString ip)
{m_ip=ip;
}void InquireIp::onConnected(){QString msg=QString("GET /ips138.asp?ip=%1&action=2 HTTP/1.1\r\n""Host: www.ip138.com\r\n""User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0\r\n""Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n""Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3\r\n""Accept-Encoding: gzip, deflate\r\n""Referer: http://www.ip138.com/\r\n""Cookie: pgv_pvi=1815538688; pgv_si=s3422986240; ASPSESSIONIDCASTDCQB=CNPDBLMDPKKBEFLKKAMALGIK; ASPSESSIONIDQACDQCBR=DOAMDOGDCEGHLCPBBOIHKHFI\r\n""Connection: keep-alive\r\n""Upgrade-Insecure-Requests: 1\r\n\r\n").arg(m_ip);m_socket->write(msg.toLatin1());}void InquireIp::onReadyRead()
{QTextCodec *codec = QTextCodec::codecForName("gb2312");QString qstr = codec->toUnicode(m_socket->readAll());int q1=qstr.indexOf("<li>");int q2=qstr.indexOf("</li>");QString str=qstr.mid(q1+9,q2-q1);QStringList strList=str.split(" ");if(strList[0]=="")return;emit sendIpLocation(strList[0]);
}void InquireIp::disposeHTTPContent(QString msg)
{}

Qt-IP地址查询工具(使用HTTP GET方法)相关推荐

  1. 在线IP地址查询工具

    在线IP地址查询工具 在线IP地址查询工具 查询指定IPV4地址的归属地,暂不支持IPV6地址,数据来源为纯真IP数据库,仅供参考 https://tooltt.com/ip/

  2. 电脑IP地址查询,3个实用方法!

    案例:电脑IP地址怎么查询 [请问有没有朋友知道电脑IP地址怎么查询呀?想看看我的IP地址却不知道该怎么查询,哪位友友可以帮帮我!] 在互联网世界中,IP地址是一种用于标识设备(如电脑.手机等)在网络 ...

  3. 超级牛批的IP地址查询工具

    更多渗透技能 公众号:白帽子左一 Fav-up Fav-up是一款功能强大的IP查询工具,该工具可以通过Shodan和Favicon(网站图标)来帮助研究人员查询目标服务或设备的真实IP地址. 工具安 ...

  4. Ip-adress.com:国际IP地址查询工具

    以前经常使用ip38.com来查询IP地址对应的地理位置,服务简单但很实用,不过查询国外的IP就有些吃力了.而IP-a d dress.com可以查询全球的IP地址,并且精确定位到该IP的国家.城市, ...

  5. iP查询工具,免费的IP地址查询

    IP地址是互联网中的一个重要概念,它是指分配给每台连接到互联网上的设备的独特数字标识符.IP地址有时被称为互联网上的设备的"数字指纹",它可以用来唯一标识网络上的任何设备,包括电脑 ...

  6. Java | IP工具类(获取访问者的ip地址 查询IP地址)

    一.IpUtil package com.java.util;import com.fasterxml.jackson.annotation.JsonInclude; import com.faste ...

  7. java webservice ip_通过Web Service实现IP地址查询功能的示例

    实例01 实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文件 ...

  8. 通过ip地址查询远程服务器系统,通过ip地址查询远程服务器系统

    通过ip地址查询远程服务器系统 内容精选 换一换 日志记录了系统的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段.日志模块根据系统设置的日志级别,记录不同详细程度的 ...

  9. 通过Web Service实现IP地址查询功能

    实例01  实现一个简单的Web服务访问 本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省.市.地区,实例中将会用到IP地址库用于查询信息,由于数据较多,所以读者可在光盘资源文 ...

  10. 远程终端IP地址查询助手

    最近配置网桥,如果忘了网桥的地址,是一件很麻烦的事情.总是要试每个网桥的地址.想着开发一个查询IP助手,可以省很多的事,就试了试了试网络编程和程序打包的方法,花了一天时间做出来一个IP查询助手,速度不 ...

最新文章

  1. CSS3+jQuery实现时钟插件
  2. djangoORM数据类型及基本操作
  3. 云炬60s看世界20211205
  4. Spring MVC 错误
  5. C#中的StringBuilder类
  6. Gobinet/QMI-WWAN/ppp拨号区别
  7. 手把手图文教你从Eclipse项目迁移Android Studio
  8. 数字化工厂-Process Simulate中的运动学定义
  9. Java常用设计模式
  10. linux设备驱动之 i2c设备驱动 at24c08驱动程序分析【全部地址的操作】
  11. javascript测试题和参考答案----试题源自牛客网
  12. 如何理解模块、组件和对象
  13. 电脑误删文件如何恢复?两个方法解决你的困扰
  14. Android Studio 部分查找快捷键
  15. SpringBoot 实现Excel文件解析
  16. 信用风险建模 in Python 系列 7 - ASRF 模型
  17. 【通讯术语】VoLTE
  18. centos8 安装mysql8(二)
  19. 14 数据库高可用
  20. 【BZOJ5498】[十二省联考2019]皮配(动态规划)

热门文章

  1. 同方挑战惠普 大打“惠民”牌
  2. SQL2005转2000
  3. 编程入门到进大厂,分享一点学习经验
  4. 如何在weblogic启动时让其加载指定的jar库文件
  5. 不写程序改当老板 留给IT圈一个销魂的背影
  6. 一个爬虫的故事:这是人干的事儿?,很值得一看!
  7. C\C++语言,从编程语言到库、API、框架、引擎
  8. HTML5新特征、窍门和技术(1~5)
  9. HTML5 API详解(9):大家都知道的 localStorage 本地存储
  10. d3设置line长度_Graph Embedding之LINE算法解读