当前位置: 首页 > news >正文

二手车网站怎么做百度一下百度主页官网

二手车网站怎么做,百度一下百度主页官网,永久免费手机网站自助建站,企业一般用什么邮箱?学习目标:网络信息获取操作 前置环境 运行环境:qt creator 4.12 学习内容 一、Qt 网络编程基础 Qt 直接提供了网络编程模块,包括基于 TCP/IP 的客户端和服务器相关类,如 QTcpSocket/QTcpServer 和 QUdpSocket,以及实现 HTTP、FTP 等协议的高级类,如 QNetworkRe…

学习目标:网络信息获取操作

前置环境

运行环境:qt creator 4.12

学习内容

一、Qt 网络编程基础

  1. Qt 直接提供了网络编程模块,包括基于 TCP/IP 的客户端和服务器相关类,如 QTcpSocket/QTcpServer 和 QUdpSocket,以及实现 HTTP、FTP 等协议的高级类,如 QNetworkRequest/QNetworkAccessManager。
  2. Qt 网络编程模块还提供了基于安全套接字层协议(SSL)的安全网络通信类。
  3. 开发过程中需要在项目配置文件中添加 QT += network 以引入网络模块。
  4. QHostInfo 类提供了查询主机名、IP 地址、DNS 域名等信息的静态函数。
  5. QNetworkInterface 类用于获取主机所有 IP 地址和网络接口列表信息

QHostInfo类提供了一些常用的成员函数,用于获取主机名和IP地址等信息。以下是一些常用的成员函数:

  1. QHostInfo.localHostName(): 返回当前主机的主机名。
  2. QHostInfo.localDomainName(): 返回当前主机的域名。
  3. QHostInfo.addresses(): 返回与主机名关联的所有IP地址列表。
  4. QHostInfo.lookupHost(const QString &hostname, QObject *receiver, const char *member): 异步查找指定主机名对应的IP地址列表,当查找完成时会发送一个finished()信号。
  5. QHostInfo::fromName(const QString &name): 同步查找指定主机名对应的IP地址列表,返回一个QHostInfo对象。
  6. QHostInfo.error(): 返回最近一次查找操作中发生的错误。
  7. QHostInfo.errorString(): 返回最近一次查找操作中发生的错误描述。
  8. QHostInfo.addLookup(const QString &hostname): 添加一个新的主机名查找任务。
  9. QHostInfo.cancelAllLookups(): 取消所有正在进行的主机名查找任务。  

QNetworkInterface是Qt中用于获取网络接口信息的类,它提供了以下一些常用的成员函数:

  1. QList<QNetworkInterface> allInterfaces(): 返回系统中所有可用的网络接口列表。

  2. QList<QNetworkAddressEntry> addressEntries(): 返回当前网络接口的所有IP地址条目。

  3. QString name(): 返回网络接口的名称。

  4. QString humanReadableName(): 返回更加易读的网络接口名称。

  5. QNetworkInterface::InterfaceFlags flags(): 返回网络接口的标志位,用于表示接口的状态和特性。

  6. quint16 index(): 返回网络接口的索引号。

  7. QNetworkAddressEntry address(): 返回网络接口的主IP地址。

  8. QList<QNetworkAddressEntry> allAddresses(): 返回网络接口的所有IP地址条目。

  9. quint64 hardwareAddress(): 返回网络接口的MAC地址。

  10. bool isValid(): 检查网络接口是否有效。

  11. bool isLoopBack(): 检查网络接口是否为回环接口。

  12. bool isPointToPoint(): 检查网络接口是否为点对点连接。

实现项目

1.通过域名查询对方主机ip

这里出现两个ip是因为百度进行了ip转发

2.本机网络信息获取 

Qt获取网络信息编程

1.本机网络信息获取

#include "dialog.h"
#include "ui_dialog.h"Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog)
{ui->setupUi(this);
}Dialog::~Dialog()
{delete ui;
}void Dialog::on_pushButton_2_clicked() //获取ip/主机名称
{QString localname = QHostInfo::localHostName();ui->lineEdit->setText(localname);QHostInfo info = QHostInfo::fromName(localname);QList<QHostAddress> ipaddr = info.addresses();foreach(const QHostAddress& addr,ipaddr){if(addr.protocol() == QAbstractSocket::IPv4Protocol){qDebug()<<"IPv4 address:"<<addr.toString();ui->lineEdit_2->setText(addr.toString());}else if(addr.protocol() == QAbstractSocket::IPv6Protocol){qDebug()<<"IPv6 address:"<<addr.toString();}}}void Dialog::on_pushButton_clicked() //获取详细信息
{//枚举所有的网络接口,然后获取每个接口的IP地址条目,同样区分IPv4和IPv6地址进行输出。QList<QNetworkInterface> netinterface = QNetworkInterface::allInterfaces();QString result;for (int i=0;i<netinterface.size();i++) { //遍历所有网络接口QNetworkInterface interface=netinterface.at(i);result+="设备名称:"+interface.name()+"\n";      // 返回网络接口的名称,如"以太网"或"WLAN"等。result+="硬件地址:"+interface.hardwareAddress()+"\n";   //获取当前网络接口的硬件地址(MAC地址),//从当前网络接口获取所有的地址条目列表。 QNetworkAddressEntry 表示一个IP地址条目,包含IP地址、子网掩码和广播地址等信息。QList<QNetworkAddressEntry> entrylist = interface.addressEntries();for (int k=0;k<entrylist.size();k++) {QNetworkAddressEntry etry =entrylist.at(k);result+="Ip地址:"+etry.ip().toString()+"\n";result+="子网掩码:"+etry.netmask().toString()+"\n";result+="广播地址:"+etry.broadcast().toString()+"\n";}}qDebug()<<"网卡接口全部信息:"<<result;QTextEdit *set =new QTextEdit(result,this);ui->verticalLayout_3->addWidget(set);
}

 2.通过域名查询对方主机ip

#include "dialog.h"
#include "ui_dialog.h"Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog)
{ui->setupUi(this);
}Dialog::~Dialog()
{delete ui;
}void Dialog::on_pushButton_2_clicked() //查询dns
{QString name =ui->lineEdit->text();ui->plainTextEdit->appendPlainText("正在查询的主机信息:"+name);QHostInfo info =QHostInfo::fromName(name);QList<QHostAddress> addrs = info.addresses();for (int i=0;i<addrs.size();i++) {QHostAddress addr =addrs.at(i);QString proto;switch (addr.protocol()) {case QAbstractSocket::IPv4Protocol:proto+= "IPv4 Protocol";break;case QAbstractSocket::IPv6Protocol:proto+= "IPv6 Protocol";break;case QAbstractSocket::AnyIPProtocol:proto+= "Any IP Protocol";break;default:proto+= "Unknown Network Layer Protocol";}ui->plainTextEdit->appendPlainText("协议类型:"+proto);ui->plainTextEdit->appendPlainText("主机IP地址: "+addr.toString());}}void Dialog::on_pushButton_clicked() //清空
{ui->plainTextEdit->clear();
}

 总结

计算机ip信息获取,主要通过name 交由QhostInfo,然后通过info 获取addr等信息,之后遍历ip表即可获得。      

最后附上源代码链接
对您有帮助的话,帮忙点个star

32-networkinfo · jbjnb/Qt demo - 码云 - 开源中国 (gitee.com)

33-dns-netinfo · jbjnb/Qt demo - 码云 - 开源中国 (gitee.com)

http://www.tj-hxxt.cn/news/87041.html

相关文章:

  • 兰州企业网站优化百度直播
  • 深圳电商平台网站建设广州seo优化公司排名
  • wap网站建设兴田德润优惠百度推广渠道商
  • 微信平台的微网站怎么做宁波seo服务推广
  • 老鹰画室网站哪家做的长沙网站seo诊断
  • 哪个网站推广做的好化工seo顾问
  • 电商 网站模板市场调研的四个步骤
  • wordpress分类打不开seo快排公司哪家好
  • 怎么生成网站地图百度文库官网
  • 网站建设 青少年宫seo网络排名优化
  • 网站设计服务流程湖北网站推广
  • 石狮网站建设价格长尾词在线挖掘
  • 高端建设网站建设seo英文全称
  • 做商品网站的教学视频十八大禁用黄app入口
  • 教育网站建设备案杭州网络推广网络优化
  • 网站模板加后台今日国际重大新闻
  • 做网站镜像营销网站设计
  • 文档里网站超链接怎么做焊工培训
  • 网站建设方面书籍线下引流的八种推广方式
  • 网站建设推广人员友情链接图片
  • 定制化开发公司seo是什么级别
  • ui设计一个页面多少价格合适win7优化大师官方免费下载
  • 科技网站颜色seo优化网站百度技术
  • 武汉网站建设模板如何制作百度推广费2800元每年都有吗
  • 上海国际网站建设有哪些平台可以发布推广信息
  • 旅游局网站建设方案网站推广的作用在哪里
  • 便宜高端网站设计无锡网络推广平台
  • 广元园区建设投资有限公司网站网站建设需求模板
  • 校园微网站建设方案ppt模板杭州优化排名哪家好
  • ai智能写作网站114黄页