gpt4 book ai didi

qt - 使用 Qt QNetworkAccessManager 发送 HTTP header 信息

转载 作者:行者123 更新时间:2023-12-04 13:35:34 25 4
gpt4 key购买 nike

我有以下代码,我想在调用中添加一些 HTTP header 信息。反正我能做到吗?

void NeoAPI::call(QString apiCall) {
if (this->ApiCall.contains(apiCall)) {
QNetworkAccessManager* manager = new QNetworkAccessManager(0);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(netReplyFinished(QNetworkReply*)));
QUrl url = this->ApiCall[apiCall];
url.addQueryItem("memberid","76710"); // Set for backdoor debugging
manager->get(QNetworkRequest(url));
} else {
this->requestResultText = QString("Call %1 doesn't exist").arg(apiCall);
}
}

void NeoAPI::netReplyFinished(QNetworkReply *netReply) {
if (netReply->error() == QNetworkReply::NoError) {
this->requestResultText = netReply->readAll();
} else {
this->requestResultText = "API Call Failed";
}
QMessageBox messageBox;
messageBox.setText(this->requestResultText);
messageBox.exec();
//delete netReply;
}

另外,如果我不在类中使用这些, this 会是什么?在 connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(netReplyFinished(QNetworkReply*)));是?

谢谢!

最佳答案

是的,请参阅 QNetworkRequest 的文档.

你会想要做这样的事情:

QNetworkRequest request(url);
request.setHeader( QNetworkRequest::ContentTypeHeader, "some/type" );
request.setRawHeader("Last-Modified", "Sun, 06 Nov 1994 08:49:37 GMT");
manager->get( header );

Also, if I wasn't using these inside a class, what would the this in the connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(netReplyFinished(QNetworkReply*))); be?



它不会是什么。要将信号连接到插槽,该插槽必须是某个对象的成员函数。 Qt primer on signals and slots解释了这一点。

关于qt - 使用 Qt QNetworkAccessManager 发送 HTTP header 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com