我正在尝试使用QUrlQuery对POST Http查询进行编码。在几个地方读书,这似乎是解决方案:
QUrlQuery query;
query.addQueryItem("name","value");
QString queryString = query.query(QUrl::FullyEncoded);
但是这段代码:
QUrlQuery query;
query.addQueryItem("calc","x+x");
qDebug() << query.query(QUrl::FullyEncoded);
输出:
"calc=x+x"
所以“+”没有被编码。为什么?如何为POST参数正确编码任意字符串?
答案 0 :(得分:0)
QUrlQuery只是QUrl的一部分。
如果通过编码表示编码百分比,则可以使用以下代码执行此操作:
qDebug() << QUrl::toPercentEncoding(query.toString());