QT:我想知道是否有一种方法可以在不编码最终 URL 的情况下从字符串创建 QUrl 或另一个 URL 类对象。例如,这是我的代码片段:
QString GetJsonStringFromURL(QString url) //url == "192.168.0.111/controller?POSITION|03|100"
{
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QNetworkRequest req( QUrl::fromUserInput(url) ) ;
QNetworkReply *reply = mgr.get(req);
eventLoop.exec(); //wait till reply finished
QString strReply = reply->readAll();
return strReply;
}
此代码访问局域网控制器,使用 get 方法请求它的 json,同时在 url 中传递一个参数。我传递的网址得到百分比编码为:
“192.168.0.111/控制器?位置%7C03%7C100”
我试图避免。我试图访问的服务器是一个自定义硬件,其固件用 C 语言编写,不包含百分比解码。我想避免在服务器端进行维护。我已经尝试通过 QUrl 类参考,但没有可用的方法提供想要的结果。