Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 从QNetworkReply获取应答IP_Qt_Qnetworkreply - Fatal编程技术网

Qt 从QNetworkReply获取应答IP

Qt 从QNetworkReply获取应答IP,qt,qnetworkreply,Qt,Qnetworkreply,早上好 我正在使用Qt5.12中的QNetworkAccessManager执行一些get请求。当我创建QNetworkRequest时,我使用一个包含主机名的url。我想知道正在应答的服务器的确切IP(因为主机名可以绑定到许多地址,并且地址会发生变化) 我找不到我得到的任何东西(可能是分析错误的类?我不确定) 有人知道从哪里得到这些信息吗 更新: 如评论中所述,我发现的“黑客”(自Qt5.13起)是: 自己解析主机名(并打印) 使用IP发送请求 在请求中使用主机名进行证书验证 但我真正想要

早上好

我正在使用Qt5.12中的
QNetworkAccessManager
执行一些
get
请求。当我创建
QNetworkRequest
时,我使用一个包含主机名的url。我想知道正在应答的服务器的确切IP(因为主机名可以绑定到许多地址,并且地址会发生变化)

我找不到我得到的任何东西(可能是分析错误的类?我不确定)

有人知道从哪里得到这些信息吗

更新:

如评论中所述,我发现的“黑客”(自Qt5.13起)是:

  • 自己解析主机名(并打印)
  • 使用IP发送请求
  • 在请求中使用主机名进行证书验证
但我真正想要的是一个如下的API,一旦我有了
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()
}