我在哪里可以从Twitter搜索中获取HttpClient的http响应代码?

时间:2012-12-06 01:23:17

标签: java android twitter twitter4j

我打电话给Twitter搜索并获得JSON响应。我的理解是,如果超过了Twitter请求限制,这将在HttpResponse代码中报告。如何在请求发出后从HttpClient类中获取响应代码?

也有人知道这是否实际上是Twitter如何报告超出的速率限制?

    import org.apache.http.client.HttpClient;
            import org.apache.http.client.ResponseHandler;
            import org.apache.http.client.methods.HttpGet;
            import org.apache.http.impl.client.BasicResponseHandler;
            import org.apache.http.impl.client.DefaultHttpClient;

    HttpGet get = new HttpGet(searchUrl); 
    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    String responseBody = null;
    try{
        responseBody = client.execute(get, responseHandler);
                    // How can I get HTTP response code?
    }
    catch(Exception ex) 
    {
        ex.printStackTrace();
    }

1 个答案:

答案 0 :(得分:4)

根本不要使用响应处理程序 - 您可以使用HttpResponse从普通HttpResponse#getStatusLine()实例获取状态代码:

HttpGet get = new HttpGet(searchUrl); 
ResponseHandler<String> responseHandler = new BasicResponseHandler();
HttpResponse response = client.execute(get);
int statusCode = response.getStatusLine().getStatusCode();

推荐阅读:


BasicResponseHandler返回String而不是抛出异常时

NB ,这意味着响应代码为2xx(即200 <= code < 300 })。