[Interest] Adding 'raw' queries to a QUrlQuery

Guido Seifert wargand at gmx.de
Sat Aug 24 21:55:51 CEST 2013


Hi,
following problem. I am trying to convert one of my programs from Qt4 to Qt5. Qt4 uses QHttp. I want to switch to QNetworkAccessManager. So far, so good. 
The program is a bittorrent client. My new version with QNetworkAccessManager has only one problem: The trackers don't accept the info_hashes. 'This torrent is not registered with this tracker'. 

I compared my announce message with a message of the same torrent using rtorrent and wireshark. The only difference I see, is the percentencoding.

I add: "%B6%D5%CC%AD%A0%18%3C%A1%92%E7F9%D8C%14%16%ED%29%FEt" as encoded string,
the stupid QUrlQuery class makes it %B6%D5%CC%AD%A0%18%3C%A1%92%E7F9%D8C%14%16%ED)%FEt.

Changes %29 into ')'. I am sure, this is the problem, since according to wireshark this is the only difference between my client and rtorrent, which works and finds the torrents.

Is there a way how I can send something over the net in a way _I_ want and not how the QUrl functions think is right?

Btw, the network/torrent example in the Q5 sources has the same problem. As bittorrent client it is utterly useless and therefore at least at the moment of limited value as example.

Guido



More information about the Interest mailing list