REST响应无法从特定的IP地址获取

时间:2017-07-19 07:15:19

标签: ip-restrictions

我试图通过点击远程API获得REST响应,我从本地机器获得一些其他服务器的响应,但仅从特定的IP地址得到响应X-Mashery-Error-Code,值:ERR_403_NOT_AUTHORIZED

我与服务提供商核对过他们没有阻止任何IP地址。我正在传递Api密钥和使用共享密钥生成的签名,使用如下所示的sha256。 org.apache.commons.codec.digest.DigestUtils.sha256Hex(apiKey + sharedSecret + System.currentTimeMillis()/ 1000);

这可能是因为没有使用特定的IP地址。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当您的身份验证不正确时,Mashery会发生ERR_403_NOT_AUTHORIZED。我可能意味着您的密钥/密码不正确,或者您的oAuth2令牌已过期,或者您的SHA256 / MD5签名不正确。

Mashery-Error-Code,值:ERR_403_NOT_AUTHORIZED通常在IP被阻止时不会发生。

在这种情况下,我认为问题是您使用 System.currentTimeMillis()/ 1000

而不是那样,你可以尝试 Math.round(new java.util.Date()。getTime()/ 1000)

org.apache.commons.codec.digest.DigestUtils.sha256Hex("apiKey" + "sharedSecret" + Math.round(new java.util.Date().getTime() / 1000))

如果这不起作用,您可以检查是否有另一个标题X-Error-Detail-Header,如果是,它的值是多少?