QNetworkReply - 建立连接,写入第一个字节等
Posted
技术标签:
【中文标题】QNetworkReply - 建立连接,写入第一个字节等【英文标题】:QNetworkReply - connection established, first byte written, etc 【发布时间】:2011-01-25 22:47:27 【问题描述】:我想记录 QNetworkReply 对象的生命周期。这包括:
-
当底层套接字连接建立时
发送请求的第一个字节时
收到响应的第一个字节时
响应的最后一个字节结束时
(3) 和(4) 可以通过监听downloadProgress 信号来确定,但我不知道如何做(1) 和(2)。有没有办法监听 QNetworkReply 的底层套接字? GET 请求似乎不会触发 uploadprogress 信号。
【问题讨论】:
您能告诉我们为什么您需要知道清单中的前两件事吗? 我正在尝试模拟下载一个网站需要多长时间。 【参考方案1】:我不知道 (1) 是否可行,但其他很容易。你看过我的network trace 例子吗?它不适用于您的情况吗?
【讨论】:
+1 不错的代码。但是我看不出它如何回答第二个问题 - 请求的第一个字节何时发送? 我认为这是相当低的水平。这取决于仍有多少 HTTP 连接可用、缓存、流水线等...【参考方案2】:据我所知,Qt 没有公开QNetworkAccessManager
用来获取数据的机制,所以我认为你无法完成列表中的第一个任务和第二个任务。
请记住,QNetworkAccessManager
不仅可以处理 http(s):
方案,还可以处理不需要任何套接字连接的本地方案,例如 file:
和 qrc:
。
【讨论】:
以上是关于QNetworkReply - 建立连接,写入第一个字节等的主要内容,如果未能解决你的问题,请参考以下文章
获取简单 URL 时出现 QNetworkReply 错误“连接已关闭”
QNetworkReply::error 信号何时会跟随finished() 信号?
QNetworkReply:在 QWebView 中禁用了网络访问