c++ - Qt QUrlQuery 参数拆分

标签 c++ qt

我使用的是 Qt v5.5。我需要 http 得到这样的请求

QUrlQuery urlQuery;
urlQuery.setQuery("https://lalala.com/login");
urlQuery.addQueryItem("submit", "");
urlQuery.addQueryItem("email", "email@email.com");
urlQuery.addQueryItem("pass", "unbelievable_password");

当我调用 urlQuery.query();网址是

"https://lalala.com/login&submit=&email=email@email.com&pass=unbelievable_password"

参数“submit”是第一个参数,它需要使用'?'拆分参数名称,但参数被“&”拆分。

最佳答案

您想将 URL 放入 QUrl 中,然后在其上添加查询项——并且不要将 URL 作为查询项本身!

QUrl url("https://www.foo.com");

QUrlQuery query;
query.addQueryItem("email", "foo@bar.com");
query.addQueryItem("pass", "secret");

url.setQuery(query);

qDebug() << url;

正确打印

QUrl("https://www.foo.com?email=foo@bar.com&pass=secret")

关于c++ - Qt QUrlQuery 参数拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914595/

相关文章:

c++ - C++中 volatile 成员函数的目的是什么?

c++ - thresh 的不同值 - 将 Matlab 代码转换为 OpenCV 代码

c++ - 在 opencv 中清理扫描图像

c++ - QT中低TCP连接性能问题

c++ - 如何捕捉QDockWidget的关闭按钮点击事件

c++ - 从 QTest 模拟点击的 QML 元素

c++ - 如何访问字符串的元素?

python - 如何修复python中opencv中的错误 "QObject::moveToThread:"?

qt - 'QMessageBox::critical':4 个重载中没有一个可以转换所有参数类型

c++ - Qprocess 弄乱了我的 linux 命令(我认为)。怎么修?