Https请求返回403

时间:2014-01-22 13:30:36

标签: java https jersey http-status-code-403

当我通过浏览器或卷曲请求:“https://www.btcturk.com/api/orderbook”时,我得到了预期的响应。

当我通过jersey或java库(如HttpsURLConnection)发出相同的请求时,我收到403禁止响应。

我可以使用相同的方法向在https下运行的任何其他网址发出请求。下面是一个示例方法:

public static RestResponse getRestResponse(String url)
{   
    String jsonString;
    try
    {
        Client client = Client.create();

        WebResource webResource = client.resource(url);

        ClientResponse response = webResource.accept("application/json")
                .get(ClientResponse.class);

        if (response.getStatus() != 200) {

            return RestResponse.createUnsuccessfulResponse(response.getStatusInfo().getReasonPhrase());
        }

        jsonString = response.getEntity(String.class);
    }
    catch(Exception e)
    {
        return RestResponse.createUnsuccessfulResponse(e);
    }

    return RestResponse.createSuccessfulResponse(jsonString);
}

以上代码只是为了提出这个想法。整个事情可以在https://github.com/cgunduz/btcenter/tree/master/src/main/java/com/cemgunduz/web

找到

我的网络知识非常有限,因此任何朝向我应该开始的方向都会有所帮助。欢呼声。

1 个答案:

答案 0 :(得分:0)

您可能需要提供一些凭据。根据服务器配置,您必须提供用户/密码组合或有效证书。试试这里提供的解决方案: Using HTTPS with REST in Java