2013-11-03 3 views
1

URL을 사용하여 웹에서 이미지를 다운로드하려면 org.apache.commons.httpclient.HttpClient 클래스를 사용하는 코드가 있습니다. 허용 된 다운로드 크기를 제한하고 싶습니다. 예를 들어 2MB가 넘는 이미지를 다운로드하지 마십시오.허용되는 HTTP 응답 크기

내가 다운로드하기 전에 다운로드 할 이미지의 크기를 아는 가장 좋은 방법은 무엇입니까?

+1

HTTP 응답에 본문의 크기가 포함되어 있습니다. 그러나 어떤 경우에는 존재하지 않을 수도 있습니다 (예를 들어, 서버조차도 전송되는 파일의 크기를 알지 못하는 경우). –

+0

@StefanoSanfilippo - 본문을 읽기 전에 내용 길이를 읽으면 본문이 아직 다운로드되지 않았 음을 의미합니다. 권리? – Avi

답변

2

HTTP GET을 수행하기 전에 HTTP HEAD 요청을 전송하여 본문없이 헤더를 가져올 수 있습니다.

그래서 HEAD 요청을 보내고 HEAD 응답 (본문이없고 헤더 만 제외하고 GET 요청을받는 것)을 파싱하여 본문 크기를 가져 와서 GET을 수행할지 여부를 결정합니다 파일 다운로드 요청 여부