Qt http 经验总结

1.在计算签名时,在toBase64之后,注意要.toPercentEncoding();这个目的主要是为了替换一些特殊字符。

 //使用 UTF-8 编码,且进行了 URL 编码,十六进制字符必须大写,如 “:” 会被编码为 “%3A” ,空格被编码为 “%20”。
 
 QByteArray sign = QMessageAuthenticationCode::hash(paramsStr.c_str(), secretKey, QCryptographicHash::Sha256)
              .toBase64().toPercentEncoding();
              
    spliceStr.append("&Signature=").append(sign.data());

你可能感兴趣的:(http)