2011-04-19 2 views
0

(http://curl.haxx.se/libcurl/c/curl_easy_setopt.html 참조) C libcurl을 사용하려면 curl 옵션 CURLOPT_WRITEDATA를 FILE *로 전달해야합니다. 그렇지 않으면 단순히 stdout에 수신 된 응답을 출력합니다. 응답을 읽는 데만 임시 파일을 사용해야하므로 응답을 메모리 버퍼에 직접 읽을 수있는 방법이 없습니다. 그것은 매우 sh! tty와 믿기 매우 어렵게 보인다. php curl은 더 나은 인터페이스를 가지고있다. 이 중 하나는 C libcurl을 사용하는 동안 함께 있어야합니까? 여러 개의 임시 파일을 사용해야하므로 curl multi 핸들을 사용할 때 여전히 지저분 해집니다. 내가 스스로를 쏘기 전에 분명히하십시오.수신 된 응답을 작성하기 위해 임시 파일을 사용하지 않고도 컬 핸들에서 응답을 읽을 수 있습니까?

답변

0

이 질문은 전에 수 백만 번 응답되었습니다. 여기에 그것을 수행하는 방법의 예입니다 : 실제로 도움

http://curl.haxx.se/libcurl/c/getinmemory.html

+0

, 감사합니다. 그래서 그들은 같은 전송을 위해 호출 될 때마다 버퍼를 재 할당하고 있습니다. 문자열을 * 사용하고 문자열에 계속 추가하면 재 할당이 자동으로 수행됩니다. 내가하지 희망. 이와 관련하여 write 콜백 함수의 첫 번째 인수는 char *가 아니라 void *입니다. 왜 그런가? 안전하게 char *에 유형 변환하고 그 안에서 문자열을 만들 수 있습니까? –

관련 문제