diff --git a/main.cpp b/main.cpp index f095032..8170e32 100644 --- a/main.cpp +++ b/main.cpp @@ -32,11 +32,30 @@ Input input_data(istream& in, bool prompt) { return input; } +// функция-обработчик для записи полученных данных в stdout +size_t write_data(void* ptr, size_t size, size_t nmemb, void* stream) { + size_t written = fwrite(ptr, size, nmemb, stdout); + return written; +} + 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) { + curl_easy_setopt(curl, CURLOPT_URL, argv[1]); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + + // можно настроить User-Agent, если нужно: + // curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0"); + + CURLcode res = curl_easy_perform(curl); + if (res != CURLE_OK) { + cerr << "cURL error: " << curl_easy_strerror(res) << endl; + } + + curl_easy_cleanup(curl); + } else { + cerr << "curl_easy_init() failed" << endl; } return 0; }