[Interest] Preventing QUrl from encoding query parameters

Thiago Macieira thiago.macieira at intel.com
Sun Aug 3 01:02:54 CEST 2014


On Saturday 02 August 2014 13:26:15 Lorne Sturtevant wrote:
> On 08/02/2014 11:27 AM, Dmitriy Purgin wrote:
> > Hi,
> > 
> > If you pass this raw QString or QByteArray somewhere, why use QUrl
> > 
> > then? Anyway, try QUrl::fromPercentEncoding():
> >     QUrl url("http://example.com?query=[{\"name\":\"value\"}]");
> >     qDebug() << QUrl::fromPercentEncoding(url.toEncoded());
> >     // produces: "http://example.com?query=[{"name":"value"}]"
> 
> I should clarify that I need the QUrl because I need to pass it to a
> QNetworkRequest.  That class only takes QUrls.  I can't pass a string.
> 
> QUrl::fromPercentEncoding() produces a QString.  That's not what I need.

You can't do what you want. QUrl will normalise what it has to.

So just make sure that you are running Qt 5.3, since there were bugs in 
previous versions. If that doesn't work, fix your server.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list