2011-02-04 3 views
1

libcurl을 사용하여 URL에서 파일을 다운로드하고 있습니다. 파일의 원래 크기는 1700k이지만 단지 1200k가됩니다. 패킷 스니퍼로 검사 한 후에 데이터가 청크 분할 인코딩 및 gzip으로 전송된다는 것을 알았습니다. 또한 진행률 콜백은 항상 -0-의 dltotal을 표시합니다. 나는 CURLOPT_ENCODING을 "gzip", "deflate", "", "blah", 123123 (null이 아닌) 값으로 설정할 것을 시도했지만 행운은 없다. 나는 여전히 1200k의 처리되지 않은 데이터를 얻는다. 진행 문제와 함께이 작업을 수행하려면 어떻게해야합니까 ?? 그 다음 전체 크기를 알 수 없기 때문에 청크 인코딩을 사용하는 경우청크 응답이 libcurl에 의해 처리되지 않았습니다.

덕분에, 파티 흐

답변

0

libcurl에 0으로 설정 "dltotal"를 진행 콜백을 호출합니다.

그러나 청크 인코딩과 콘텐츠 인코딩 gzip을 모두 올바르게 지원하므로 전체 파일의 압축이 풀리지 않으면 서버가 작동 중이거나 연결이 끊어지기 전에 문제가 발생한 것일 수 있습니다. 전체 파일이 전송되었습니다.

또한 최신 컬 버전을 사용하여 오래된 버그 나 그와 유사한 것을 겪지 않도록해야합니다.

관련 문제