1

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();
    }
4

1 に答える 1

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: 例外をスローする代わりに a を返す場合String、これは応答コードが a 2xx(つまり、200 <= code < 300) であることを意味します。

于 2012-12-06T01:25:20.050 に答える