code:обработка ошибок

Этот коммит содержится в:
Alice (KhorovodnikovaAA)
2025-05-29 23:12:42 +03:00
родитель 8b0194d3ea
Коммит e65b65756c

Просмотреть файл

@@ -51,34 +51,30 @@ static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* use
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
if (argc > 1) { if (argc > 1) {
CURL* curl = curl_easy_init(); CURL* curl = curl_easy_init();
if(curl) { if (!curl) {
CURLcode res; cerr << "Îøèáêà: íå óäàëîñü èíèöèàëèçèðîâàòü cURL" << endl;
string readBuffer; exit(1);
// Óñòàíàâëèâàåì 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;
} }
string readBuffer;
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
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);
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
cerr << "Îøèáêà cURL: " << curl_easy_strerror(res) << endl;
curl_easy_cleanup(curl);
exit(1); // Çàâåðøàåì ïðîãðàììó ñ êîäîì îøèáêè
}
cout << readBuffer;
curl_easy_cleanup(curl);
return 0;
} }
curl_global_init(CURL_GLOBAL_ALL); curl_global_init(CURL_GLOBAL_ALL);
size_t max_count; size_t max_count;