Quería usar libcurl para un proyecto que implica obtener una imagen de una página web. La URL tiene el siguiente aspecto:Cómo guardar imágenes utilizando libcurl
http://xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jpg
Usando el enrollamiento de línea de comandos que puedo recuperar la imagen usando
$curl -o sampleimage.jpg http://xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jpg
Quiero saber el equivalente a este código en libcurl porque yo estoy nueces ahora mismo. Tengo esta fuente de muestra en la red, y compila y cosas, pero no puedo ver el archivo de imagen en ninguna parte.
Este es el 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;
}
Por cierto estoy usando un Mac y estoy compilar este código en XCode que tiene una biblioteca libcurl.
* EDITAR: * Problema solucionado. Acabo de usar una ruta completa para el fopen(). Gracias Mat! Responde la pregunta para que pueda elegir la tuya como la respuesta correcta. ¡Gracias!
Utilice una ruta completa en la llamada 'abierta' para que sepa dónde buscar. – Mat
Lo intentaré. Pero, ¿cómo lo hago con mac? Sé cómo hacerlo en el sistema de archivos de Windows, pero no en una Mac. Gracias. – IBG
¿Cómo le envío un mensaje al tipo que comentó? Solucioné el problema gracias a ese tipo. Hola Mat, por favor responde, para que pueda elegir tu respuesta. ¡Gracias! – IBG