QT 5.1.1 - 在 post 请求中设置 urlQuery 时出现问题
QT 5.1.1 - Problems with setting urlQuery in Post Request
我正在努力将一些网络代码从 QT 4.8.4 移植到 5.1.1,似乎遇到了一个我不太清楚的问题。
QUrl postURL = QUrl("https://www.mywebsite/api");
QUrlQuery * reqParams = new QUrlQuery();
reqParams->addQueryItem("realEmail", email_lineEdit->text());
reqParams->addQueryItem("password", password_lineEdit->text());
reqParams->addQueryItem("confirmPassword", passConfirm_lineEdit->text());
reqParams->addQueryItem("firstName", firstName_lineEdit->text());
reqParams->addQueryItem("lastName", lastName_lineEdit->text());
reqParams->addQueryItem("termsAccepted", "1");
postURL.setQuery(reqParams);
QNetworkRequest netReq(postURL);
netReq.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setProtocol(QSsl::SslV3);
netReq.setSslConfiguration(config);
netReply = netManager->post(netReq);
编译它给了我两个错误。首先,'QNetworkAccessManager::post' : no overloaded function takes 1 arguments
我不确定如何解决这个问题,因为我不需要添加任何帖子数据,它都包含在 QUrlQuery 中,因为我的印象是这是正确的方法。
我的第二个错误,'void QUrl::setQuery(const QString &,QUrl::ParsingMode)' : cannot convert parameter 1 from 'QUrlQuery *' to 'const QString &'
这个错误让我同样困惑。我知道有一个需要 QUrlQuery * 的 setQuery 重载,所以使用一个参数假设 2 个参数版本这一事实对我来说几乎没有意义。
如果有人能阐明两者或其中任何一个,我将不胜感激!
您似乎不想执行HTTP POST,因为您不想在请求正文中发送任何数据。你想要执行一个 HTTP GET 请求。为此,您应该致电manager.get:
netReply = manager->get(netReq);
如果要执行具有空正文的HTTP POST请求,则必须像这样指定空字节数组:
QByteArray empty;
netReply = manager->post(netReq, empty);
您需要将引用(而不是指针)传递给 qUrl::setQuery。 例如,这样做:
QUrlQuery reqParams;
reqParams.addQueryItem("realEmail", email_lineEdit->text());
...
postURL.setQuery(reqParams);
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- QT 5.1.1 - 在 post 请求中设置 urlQuery 时出现问题