Volley错误java.io.EOFException

时间:2016-05-08 23:21:30

标签: java android json android-volley

我在请求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();
    }

1 个答案:

答案 0 :(得分:0)

感谢@Anix PasBesoin,我发现我应该考虑的方式是:

url =  Uri.encode(url,"=");
url = url.ReplaceAll("\\%0A","");