서버가 나에게 보낸 100 개 수는 어떻게 계산합니까?
-
07-07-2019 - |
문제
나는 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.
제휴하지 않습니다 StackOverflow