我正在尝试在QNetworkAccessManager + QNetworkRequest + QNetworkReply的帮助下从亚马逊下载音频样本。我在处理重定向方面遇到了一个大问题,例如http://www.amazon.com/gp/dmusic/aws/sampleTrack.html?clientid=Shazam&ASIN=B00DJBQWAE到http://d28julafmv4ekl.cloudfront.net/64%2F30%2F239068457_S64.mp3?Expires=1380627695&Signature=BlaBlaBlaBla&Key-Pair-Id=BlaBlaBla (注意从服务器返回的百分比编码路径)。问题是当重定向目标URL传递给新的QNetworkRequest并且请求是通过QNAM发送时,%2F字符会自动转换为斜杠。这似乎是正确的行为,但服务器需要这些斜杠保持编码。有没有办法禁用这种转换?
顺便说一句,QNetworkReply也有类似的功能 - 它返回已经转换的%xx字符的重定向网址。
答案 0 :(得分:1)
您可以对此网址应用百分比编码。这样,'%2F'将被编码为'%252F',而QNetworkRequest将把它编码回'%2F'。
使用此方法:https://developer.blackberry.com/native/reference/cascades/qurl.html#toPercentEncoding