Сохранение файла с помощью libcurl в C - PullRequest
5 голосов
/ 12 августа 2010

Я расширяюсь от perl до C и пытаюсь использовать библиотеку curl, чтобы просто сохранить файл из удаленного URL, но мне трудно найти хороший пример для работы.

Кроме того, я не уверен, стоит ли мне использовать curl_easy_recv или curl_easy_perform

1 Ответ

6 голосов
/ 12 августа 2010

Я нахожу этот ресурс очень удобный для разработчиков.

Я скомпилировал исходный код ниже с помощью:

gcc demo.c -o demo -I/usr/local/include -L/usr/local/lib -lcurl

По сути, он загрузит файл и сохранит его на жестком диске.

Файл demo.c

#include <curl/curl.h>
#include <stdio.h>

void get_page(const char* url, const char* file_name)
{
  CURL* easyhandle = curl_easy_init();

  curl_easy_setopt( easyhandle, CURLOPT_URL, url ) ;

  FILE* file = fopen( file_name, "w");

  curl_easy_setopt( easyhandle, CURLOPT_WRITEDATA, file) ;

  curl_easy_perform( easyhandle );

  curl_easy_cleanup( easyhandle );

  fclose(file);

}

int main()
{
  get_page( "http://blog.stackoverflow.com/wp-content/themes/zimpleza/style.css", "style.css" ) ;

  return 0;
}

Кроме того, я думаю, что ваш вопрос похож на этот:

Загрузка файла с использованием libcurl в C / C ++

...