From 8b0194d3eacf1bde61c62b2237b8ecea6c56ead1 Mon Sep 17 00:00:00 2001 From: "Alice (KhorovodnikovaAA)" Date: Thu, 29 May 2025 23:07:37 +0300 Subject: [PATCH] =?UTF-8?q?code:=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D0=BF=D0=BE=20=D1=81?= =?UTF-8?q?=D0=B5=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 344c74e..48f30a1 100644 --- a/main.cpp +++ b/main.cpp @@ -41,14 +41,44 @@ Input input_data(istream& in, bool prompt = true) { // } +// Callback-функция для записи полученных данных +static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) { + ((string*)userp)->append((char*)contents, size * nmemb); + return size * nmemb; +} + int main(int argc, char* argv[]) { if (argc > 1) { - cout << "argc = " << argc << endl; - for (int i = 0; i < argc; i++) { - cout << "argv[" << i << "] = " << argv[i] << endl; + CURL* curl = curl_easy_init(); + if(curl) { + CURLcode res; + string readBuffer; + + // Устанавливаем URL из первого аргумента командной строки + curl_easy_setopt(curl, CURLOPT_URL, argv[1]); + // Устанавливаем callback-функцию для записи данных + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); + // Устанавливаем буфер для записи данных + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); + + // Выполняем запрос + + // Отключаем проверку SSL (только для тестирования!) + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + res = curl_easy_perform(curl); + if(res != CURLE_OK) { + cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << endl; + } else { + // Выводим полученные данные + cout << readBuffer; + } + + // Очищаем ресурсы cURL + curl_easy_cleanup(curl); + return 0; } - return 0; } curl_global_init(CURL_GLOBAL_ALL); size_t max_count;