Como salvar a imagem usando libcurl
Eu queria usar libcurl para um projeto que envolve obter uma imagem de uma página da web. O URL fica assim:
http: //xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jp
Usando a linha de comando cURL, posso recuperar a imagem usando
$curl -o sampleimage.jpg http://xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jpg
Quero saber o equivalente desse código no libcurl porque estou ficando louco agora. Eu tenho esse exemplo de fonte na rede, e ele compila, mas não consigo ver o arquivo de imagem em nenhum luga
Este é o código:
#include <iostream>
#include <curl/curl.h>
#include <stdio.h>
using namespace std;
int main(){
CURL *image;
CURLcode imgresult;
FILE *fp;
image = curl_easy_init();
if( image ){
// Open file
fp = fopen("google.jpg", "wb");
if( fp == NULL ) cout << "File cannot be opened";
curl_easy_setopt(image, CURLOPT_URL, "http://192.168.16.25/cgi-bin/viewer/video.jpg");
curl_easy_setopt(image, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(image, CURLOPT_WRITEDATA, fp);
// Grab image
imgresult = curl_easy_perform(image);
if( imgresult ){
cout << "Cannot grab the image!\n";
}
}
// Clean up the resources
curl_easy_cleanup(image);
// Close the file
fclose(fp);
return 0;
}
BTT Estou usando um Mac e estou compilando esse código no XCode, que possui uma biblioteca libcur
*EDITAR*Problema resolvido. Eu apenas usei um caminho completo para o fopen (). Thanks Mat! Responda à pergunta para que eu possa escolher a sua como a resposta correta. Obrigado