From 36eafd40cf6841efdc4cd33dc87d142ff8d16355 Mon Sep 17 00:00:00 2001 From: GordiyevskikDA Date: Mon, 15 Apr 2024 15:17:35 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=87=D0=B0=D1=81=D1=82=D1=8C=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LABA1.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/LABA1.cpp b/LABA1.cpp index 14ce3a0..bbf9077 100644 --- a/LABA1.cpp +++ b/LABA1.cpp @@ -84,6 +84,19 @@ Input input_data(istream& instr, bool promt) { return in; }; +size_t write_data(void* items, size_t item_size, size_t item_count, void* ctx) { + size_t data_size = item_size * item_count; + stringstream* buffer = reinterpret_cast(ctx); + (*buffer).write(reinterpret_cast(items), data_size); + return data_size; +} + +size_t write_header(char* buffer, size_t size, size_t nitems, void* userdata) +{ + cerr << "Headers: " << buffer << endl; + return size * nitems; +} + Input download(const string& address) { stringstream buffer; @@ -91,6 +104,10 @@ Input download(const string& address) { if (curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, address.c_str()); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer); + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_header); + curl_easy_setopt(curl, CURLOPT_HEADERDATA, NULL); res = curl_easy_perform(curl); curl_easy_cleanup(curl); if (res != CURLE_OK) {