単純なHTTP応答パーサーの実装はありますか? アイデアは、完全な応答を1つの大きな文字列として入力し、インターフェイスを通じてstatuscode、bodyなどのようなものを取得できるようにすることです。Java用の単純なhttp応答パーサーはありますか?
要求/応答はTCP/IP経由で直接送信されないため、コアrfc 2616解析実装以外のものは必要ありません。
単純なHTTP応答パーサーの実装はありますか? アイデアは、完全な応答を1つの大きな文字列として入力し、インターフェイスを通じてstatuscode、bodyなどのようなものを取得できるようにすることです。Java用の単純なhttp応答パーサーはありますか?
要求/応答はTCP/IP経由で直接送信されないため、コアrfc 2616解析実装以外のものは必要ありません。
たとえば、Apache HttpClient
を使用する場合は、ヘッダーまたはメッセージ本文を抽出するために使用できるJava応答オブジェクトを取得します。あなただけREPONSEを解析したい場合は、次のサンプル
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(new HttpGet("http://www.foo.com/"));
Header[] headers = response.getAllHeaders();
InputStream responseBody = response.getEntity().getContent();
を検討することは、おそらくHttpMessageParser
は有用であろう:任意のデータソースからのHTTPメッセージを構築することを目的と
抽象メッセージパーサ。
私は、apache http apiで構築されたhttp-requestを推奨します。
HttpRequest<String> httpRequest = HttpRequestBuilder.createGet(someUri, String.class)
.responseDeserializer(ResponseDeserializer.ignorableDeserializer())
.build();
public void send(){
ResponseHandler<String> responseHandler = httpRequest.execute();
String responseBody = responseHandler.get();
int statusCode = responseHandler.getStatusCode();
}
私は使用前に必ずお読みになることをお勧めします。
IMHO OPは彼がStringで持っている生のHTTPレスポンスを解析したいと思うかもしれません。 –
トーマスが正しいです。私は生の応答で作業しています... URIはありませんし、HttpGetは動作しません。 – mibollma
@mibollma、 'HttpMessageParser'を使った2番目の提案を参照してください。 –