我在请求jsonObject时遇到错误。
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
...
}
我知道问题出在url字符串中,因为我需要一个计算键来获取对象。问题是我不知道如何对密钥进行正确编码以避免错误。
以下是我尝试编码的方式:
public static String calculateRFC2104HMAC(String data, String key)
throws SignatureException, NoSuchAlgorithmException, InvalidKeyException {
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);
Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
mac.init(signingKey);
return Base64.encode(mac.doFinal(data.getBytes()),Base64.DEFAULT).toString();
}
答案 0 :(得分:0)
感谢@Anix PasBesoin,我发现我应该考虑的方式是:
url = Uri.encode(url,"=");
url = url.ReplaceAll("\\%0A","");