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;