문제

나는 Apache Commons httpclient 3.1을 사용하고 있으며, Sun의 httpurlconnection은 100이 스트림에서 계속된다는 것을 알았습니다.

따라서 100은 Sun의 코드에 의해 분명히 떨어지면서 100을 계속할 수없는 것 같습니다.

이미 기존 코드를 많이 변경해야하므로 솔루션은 3.1이거나 충돌하지 않는 것입니다.

어떤 아이디어?

감사

도움이 되었습니까?

해결책

나는 해결책을 찾았다!

오버 리드 프로세스 스타 더스 라인 및 100의 상태를 확인하십시오.

처음 100이 예상된다는 것을 기억하십시오 (서버는 게시물을 계속할 수 있다고 말합니다). 제 경우에는 그 중 안전을 무시할 수 있습니다. 이렇게하면 서버가 응답하는 모든 정보를 얻습니다.

public class Counting100PostMethod extends PostMethod {
Logger log = Logger.getLogger(Counting100PostMethod.class);
boolean first100 = true;

public Counting100PostMethod() {
    super();
}

public Counting100PostMethod(String s) {
    super(s);
}

@Override
protected void processStatusLine(HttpState httpState, HttpConnection httpConnection) {
    super.processStatusLine(httpState, httpConnection);
    int status = getStatusCode();
    if (status == 100) {
        if (first100) {
            first100 = false;
        } else {
            // can now increment counter
            log.debug("Increment counter");
        }
    }
}

다른 팁

이 행동이 예상 되고이 문제에 의해 거부 된 것 같습니다. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4396798.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top