Qt 从QNetworkReply获取应答IP
早上好 我正在使用Qt5.12中的Qt 从QNetworkReply获取应答IP,qt,qnetworkreply,Qt,Qnetworkreply,早上好 我正在使用Qt5.12中的QNetworkAccessManager执行一些get请求。当我创建QNetworkRequest时,我使用一个包含主机名的url。我想知道正在应答的服务器的确切IP(因为主机名可以绑定到许多地址,并且地址会发生变化) 我找不到我得到的任何东西(可能是分析错误的类?我不确定) 有人知道从哪里得到这些信息吗 更新: 如评论中所述,我发现的“黑客”(自Qt5.13起)是: 自己解析主机名(并打印) 使用IP发送请求 在请求中使用主机名进行证书验证 但我真正想要
QNetworkAccessManager
执行一些get
请求。当我创建QNetworkRequest
时,我使用一个包含主机名的url。我想知道正在应答的服务器的确切IP(因为主机名可以绑定到许多地址,并且地址会发生变化)
我找不到我得到的任何东西(可能是分析错误的类?我不确定)
有人知道从哪里得到这些信息吗
更新:
如评论中所述,我发现的“黑客”(自Qt5.13起)是:
- 自己解析主机名(并打印)
- 使用IP发送请求
- 在请求中使用主机名进行证书验证
QNetworkReply
(我收到了“finished”信号)
我认为您应该从DNS服务器请求主机的IP地址
QNetworkReply
不包含此类信息。是的,我想到了……但我担心,在我的DNS请求和来自Qt的第二个请求之间,可能会发生一些变化(例如DNS服务器本身可能会发生变化)……IP包中不应该至少包含IP吗?我能获得这些信息吗?我遇到的一个“黑客”是:我自己从DNS请求ip,在QNetworkRequest中直接设置ip而不是主机名…但我更喜欢Qt本身…不清楚为什么需要这些信息?出于调试目的。我向其发送请求的服务器也是我们自己的服务器。有时get请求失败,我们无法复制,也无法理解原因。一种想法是某个特定服务器不知何故损坏/配置错误。记录ip可以帮助我们。
if ( http_code != HTTP_OK )
{
print network_reply.getIp()
}