아파치 Content-Encoding: gzip 일때..
글쓴이: stypr / 작성시간: 금, 2004/10/15 - 12:12오전
아파치
Content-Encoding: gzip
일케 압축해서 날라온 결과를 풀려고 하는데... -_- 에러가 -_-;;
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include<zlib.h> int main() { Bytef *source; uLong sourceLen; 소켓(80번) 연결하고 GET 으로 값 넘기고.. 값 한번 받음(헤더) 값 받음.. (실제 데이터) uncompress(source, &sourceLen, 받은패킷, 받은패킷길이); printf("[%s][%d]\n", source,sourceLen);
출력 결과.
[][0]
uncompress의 리턴값을 받아보니깐..
압축 잘못됐따고 나오는데 -_-; 걍 받은거 그대로 풀려고 한거 뿐인데..
소스 다 올리고 싶은데.. 모듈로 다 넣어져 있어서 빼내기가 -_-;;
저렇게 하는거 맞는건가요??
행복하세요..
Forums:
중략 부분에 들어가있는지도 모르겠지만, 압축을 해제할 버퍼에 미리 할당은
중략 부분에 들어가있는지도 모르겠지만, 압축을 해제할 버퍼에 미리 할당은 하셨는지요? :) 위에서 sourceLen으로 사용한 부분은 할당된 크기를 넘기는 부분입니다. 할당 하지 않고 그냥 넘겼다면 받을 버퍼가 없다고 인식하니 아무것도 나오지 않겠지요. (참고로 종료 후에 sourceLen에 있는 수치는 압축된 상태의 데이터의 크기가 됩니다 - 풀린 상태의 크기가 아닙니다)
zlib.h에 자세한 사용법이 써 있을겁니다.
댓글 달기