2013-05-31 4 views
2

InputStreamEntity를 사용하고 있습니다. 파일 입력 스트림에서 데이터를 읽고 원격 서버로 보내고 있습니다. 모든 것이 잘 작동하는 것 같습니다.InputStreamEntity에서 HTTP 헤더 설정

이제 입력 스트림이 끝나기 직전에 헤더를 설정할 수 있습니다. 즉, 마지막으로 1 바이트를 읽는 즉시 헤더를 설정하고 싶습니다.

코드 - 샘플 아래를 참조 코드는

long ctr = 0; int ch; 
     while ((ch = inputStream.read()) >= 0) { 

      if (lastByte) { //lastByte is set if this will be the only byte left in inputStream 
       httpPut.addHeader("hello", "there"); 
      } 
     } 

을 - 이것도 그러나 위의 코드 헤더를 설정하지 않습니다.

헤더가 이미 전송되지 않았 음을 Wireshark를 사용하여 확인 했으므로 아직 설정할 수있는 기회가 있다고 생각합니다.

이 요구 사항을 처리 할 수있는 방법을 제안하십시오. 감사!

답변

1

나는 그렇게 할 수 있다고 생각하지 않습니다. 요청 "메시지"가 생성되어 서버로 전송되는 방식은 먼저 헤더를 작성/전송합니다. 그런 다음 입력 스트림이 메시지의 BODY로 사용됩니다. 본문이 작성된 후에 헤더를 설정하려고 시도하면 아무 것도 수행하지 않습니다.