Java apache客户端http响应以处理状态代码http 100

Java apache客户端http响应以处理状态代码http 100,java,httpclient,Java,Httpclient,我使用ApacheHttpDefault客户端并执行post函数,如下所示 HttpResponse imToken = httpClient.execute(httpPostIM); 得到的响应是 HTTP/1.1 100 Continue Connection: keep-alive 其次是: HTTP/1.1 200 OK Date: Tue, 30 Aug 2011 19:11:35 GMT 我们如何从客户端处理这个问题???这是的定义,这是一个很好的示例。引述: 客户端应继续其请

我使用ApacheHttpDefault客户端并执行post函数,如下所示

HttpResponse imToken = httpClient.execute(httpPostIM);
得到的响应是

HTTP/1.1 100 Continue
Connection: keep-alive
其次是:

HTTP/1.1 200 OK
Date: Tue, 30 Aug 2011 19:11:35 GMT
我们如何从客户端处理这个问题???

这是的定义,这是一个很好的示例。引述:

客户端应继续其请求。此临时响应用于通知客户端请求的初始部分已被接收,并且尚未被服务器拒绝。客户端应继续发送请求的其余部分,或者,如果请求已完成,则忽略此响应。服务器必须在请求完成后发送最终响应。有关此状态代码的使用和处理的详细讨论,请参见第8.2.3节

因此,如果您的客户端已经发送了整个请求,那么它应该等待服务器发出
200
或其他“最终”响应

根据Apache
HttpClient
代码,您不必做任何事情,因为客户端忽略所有
1XX
响应代码,并继续寻找最终响应。这来自类
HttpMethodBase
中的
commons-httpclient-3.1

if ((status >= 100) && (status < 200)) {
    if (LOG.isInfoEnabled()) {
        LOG.info("Discarding unexpected response: " +
            this.statusLine.toString()); 
    }
    this.statusLine = null;
}
if((状态>=100)和&(状态<200)){
if(LOG.isInfoEnabled()){
LOG.info(“丢弃意外响应:”+
this.statusLine.toString());
}
this.statusLine=null;
}

如果您没有看到这种行为,那么您可能需要增加客户端超时?也许它等待的时间不够长?

我可以检查100个状态码。但是我如何等待并获得第二个响应。是否有代码片段。我在apache文档中看到了这一点,但不确定如何实现来处理这一点,一个简单的HTTP 1.1客户端可能会从套接字读取一个响应;如果状态代码为100,则放弃第一个响应并读取下一个响应。