HTTP request executor

HttpRequestExecutor是基于阻塞型I/O模型的客户端HTTP协议handler,实现了HTTP协议对客户端报文处理的基本要求。HttpRequestExecutor依赖HttpProcessor实例来为将要发出的报文产生必需的报文头,以及对接受和发出的报文进行常用的修改。请求发出并受到应答之后,应用相关的处理可以在HttpRequestExecutor之外进行。

HttpClientConnection conn = <...>

HttpProcessor httpproc = HttpProcessorBuilder.create()
        .add(new RequestContent())
        .add(new RequestTargetHost())
        .add(new RequestConnControl())
        .add(new RequestUserAgent("MyClient/1.1"))
        .add(new RequestExpectContinue(true))
        .build();
HttpRequestExecutor httpexecutor = new HttpRequestExecutor();

HttpRequest request = new BasicHttpRequest("GET", "/");
HttpCoreContext context = HttpCoreContext.create();
httpexecutor.preProcess(request, httpproc, context);
HttpResponse response = httpexecutor.execute(request, conn, context);
httpexecutor.postProcess(response, httpproc, context);

HttpEntity entity = response.getEntity();
EntityUtils.consume(entity);

HttpRequestExecutor的方法是线程安全的,只要HttpRequestExecutor使用的协议拦截器是线程安全的,就可以同时处理多个请求

results matching ""

    No results matching ""