2013-04-07 2 views
0

Что я хочу сделать:Переменные Имена файлов и CURLIB

Я пытаюсь написать переменную программу, которая будет загружать файл с URL и сохранить его на месте, я нашли следующее руководство, и это именно то, что я хочу, как Пока я жесткий код имена файлов:

http://siddhantahuja.wordpress.com/2009/04/12/how-to-download-a-file-from-a-url-and-save-onto-local-directory-in-c-using-libcurl/

Что моя проблема:

файлы обновляются каждый час, с каждой новой датой файла и времени штампом. Я могу предсказать требуемое имя файла, используя time.h, и извлечь текущую информацию о дате и времени, однако я не могу понять, как объединить эту информацию в форме, которую я могу передать командам curlib.

Current Покушение Solution (не работает):

char *url;      //char pointer to URL 
url = malloc((sizeof(char)*51+1);//allocate memory to pointer address is 51 characters + \0 terminator 
sprintf(url, "http://>URL Info</FILENAME%.4d%.2d%.2d%.2d30.jpg\0", year, month, date, hour); 
           //ie http://example.com/files/FILENAME201304071030.jpg 

Строка заполняется как я может выводить его с Printf, однако это не похоже, чтобы получить передается команде CURLIB:

curl_easy_setopt(curl, CURLOPT_URL, url); 

Создает файл назначения, но файл пуст. Я подозреваю, что это имеет какое-то отношение к разнице между указателем на символ и строкой, но я не уверен, что.

Любые идеи о том, что я делаю неправильно, и что я должен попробовать дальше?

ответ

0

Вы должны использовать опцию CURLOPT_VERBOSE в своей программе libcurl и проверить отправленный запрос/ответ.

Я предполагаю, что вы как-то просто запрашиваете неправильный URL-адрес, а сервер отвечает 404 или что-то еще без фактического содержимого тела ответа.

curl_easy_setopt (curl, CURLOPT_URL, url); вызов, который вы показали, кажется прекрасным, поскольку в нем требуется символ с завершающим нулем *, и именно это вы отправили ему. Конечно, вывод VERBOSE также покажет вам, будет ли libcurl рассматривать вход так же, как вы ожидаете.

+0

В итоге я сделал самые глупые ошибки. Моя программа работала по местному времени, но изображения, которые я хотел скачать, были основаны на UTC. Как только я это отсортировал, все работает отлично ... – user2253585

Смежные вопросы