Я хотел использовать libcurl для проекта, который включает в себя получение изображения с веб-страницы.
URL выглядит так:
http://xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jpg
Используя командную строку cURL, я могу получить изображение, используя
$curl -o sampleimage.jpg http://xxx.xxx.xxx.xxx/cgi-bin/anonymous/image.jpg
Я хочу знать эквивалент этого кода в libcurl, потому что я схожу с ума прямо сейчас. Я получил этот пример источника в сети, он компилируется и все такое, но я нигде не вижу файл изображения.
Это код:
#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;
}
Кстати, я использую Mac и компилирую этот код в XCode, в котором есть библиотека libcurl.
* РЕДАКТИРОВАТЬ: * Проблема исправлена. Я просто использовал полный путь для fopen (). Спасибо, Мат! Пожалуйста, ответьте на вопрос, чтобы я мог выбрать ваш как правильный ответ. Спасибо!