如何从 QNetworkrequest 中删除标头?
Posted
技术标签:
【中文标题】如何从 QNetworkrequest 中删除标头?【英文标题】:How to delete a header from a QNetworkrequest? 【发布时间】:2015-03-29 21:28:14 【问题描述】:我想用 Qt 构建一个自定义 SOAP-Request。 对于我的特定 SOAP 操作数据包,我需要删除 自动出现在 QNetworkrequest 中的 Accept-Language 标头。
如果有以下相反的东西真的很方便:
QNetworkRequest browseRequest;
browseRequest.setRawHeader(QByteArray("Accept-Language"), QByteArray("english"));
例如:
browseRequest.deletePartOfHeader(QByteArray("Accept-Language"));
编辑: 使用 QTcpSocket 并发送所需的字符串。 没有找到其他解决方案。
【问题讨论】:
我找到了以下补丁:codereview.qt-project.org/#/c/47395 【参考方案1】:不幸的是,我不相信使用 QNetworkRequest (目前)这是可能的。请参阅错误QTBUG-9463,“QNetworkRequest:能够取消设置一些可选的标头条目”。
错误报告的描述特别提到了您的情况:
QNetworkRequest:能够取消设置一些可选的标头条目 例如 Accept-Encoding 和 Accept-Language,因为它们不是必须的 在标题中,但目前无法取消设置它们。
(强调我的。)
【讨论】:
以上是关于如何从 QNetworkrequest 中删除标头?的主要内容,如果未能解决你的问题,请参考以下文章