Здравствуйте есть пост запрос curl -F files[]=@/path/to/file "http://www.example.com/" который должен загружать файл, нужно этот же запрос делать через библиотеку curl.h на с++ и получать от него ответ, но она не работает выдает ошибку, что мол сервер недоступен( а хотя если делать через запрос в консоле то все ок)
static size_t string_appender(void *ptr, size_t size, size_t nmemb, void *data)
{
size_t realsize = size * nmemb;
std::string* input = (std::string*)data;
if (input)
input->append(static_cast<const char*>(ptr), realsize);
return realsize;
}
{
....
CURL *curl;
CURLcode res;
fname.clear();
fname="/path/to/file";
struct curl_httppost *formpost=NULL;
struct curl_httppost *lastptr=NULL;
struct curl_slist *headerlist=NULL;
curl_global_init(CURL_GLOBAL_ALL);
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "files[]",
CURLFORM_FILE, fname.c_str(),
CURLFORM_END);
curl = curl_easy_init();
std::string input;
std::string ur;
ur.append("\"http://www.example.com\"");
if(curl) {
curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
curl_easy_setopt(curl, CURLOPT_URL,
ur.c_str());
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION,
string_appender);
curl_easy_setopt(curl, CURLOPT_WRITEHEADER
, (void *)&input);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_formfree(formpost);
curl_slist_free_all (headerlist);
}
..........
}