我使用的是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"
param“submit”是第一个参数,它需要使用'?'拆分参数名称,但参数由'&'拆分。
答案 0 :(得分:1)
您希望将网址转换为QUrl
,然后在其上添加查询项目,并且不将该网址作为查询项目!
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")
答案 1 :(得分:0)
在SO already上看到这里的讨论。一般来说,它看起来好像任何&#34; sub-delims&#34; 应接受或不接受值:http://tools.ietf.org/html/rfc3986#appendix-A
事实是,如果QUrlQuery没有没有尾随等号的无值查询选项,那就太糟糕了