C++:
הורדת דף אינטרנט

איך לעשות:

כדי להוריד דף אינטרנט ב-C++, נשתמש בספריית פופולרית בשם cURL לדוגמה.

#include <iostream>
#include <string>
#include <curl/curl.h>

size_t callbackfunction(void *ptr, size_t size, size_t nmemb, std::string *data) {
    data->append((char*) ptr, size * nmemb);
    return size * nmemb;
}

std::string download_html(const std::string &url) {
    CURL *curl;
    CURLcode res;
    std::string response_data;

    curl = curl_easy_init();
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callbackfunction);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_data);
        res = curl_easy_perform(curl);
        curl_easy_cleanup(curl);
    }
    return response_data;
}

int main() {
    std::string url = "http://example.com";
    std::string html_content = download_html(url);
    
    if (!html_content.empty()) {
        std::cout << "HTML content downloaded successfully:" << std::endl;
        std::cout << html_content << std::endl;
    } else {
        std::cout << "Failed to download the content." << std::endl;
    }

    return 0;
}

זה ידפיס את ה-HTML של http://example.com.

עיון מעמיק:

הורדת דף אינטרנט לא הייתה פשוטה תמיד. לפני cURL, היינו צריכים להשתמש ב-sockets ולדבר ישירות עם ברוטוקול HTTP. חלופות ל-cURL כוללות ספריות כמו Boost.Beast וPoco. אם אתה צריך לעבוד עם HTTPS, אז cURL ישתמש בסיפרת SSL/TLS בצורה שקופה. בעת שימוש ב-cURL בפרויקט שלך, זכור להוסיף אותו למערכת הבניה שלך, כמו CMake או Make.

ראה גם: