वेब पेज डाउनलोड करना

C++:
वेब पेज डाउनलोड करना

कैसे करे? (How to)

C++ में वेब पेज डाउनलोड करने के लिए, हमें एक थर्ड-पार्टी लाइब्रेरी जैसे कि CURL की जरूरत होती है। libcurl एक मुफ्त, ओपन-सोर्स लाइब्रेरी है जो डेटा ट्रांसफर के लिए इस्तेमाल होती है।

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

size_t callback(void *contents, size_t size, size_t nmemb, void *userp) {
    ((std::string*)userp)->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL *curl;
    CURLcode res;
    std::string response_data;

    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();
    
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_data);
        
        res = curl_easy_perform(curl);
        if(CURLE_OK == res) {
            std::cout << response_data;
        } else {
            std::cerr << "CURL failed: " << curl_easy_strerror(res) << std::endl;
        }

        curl_easy_cleanup(curl);
    }
    
    curl_global_cleanup();

    return 0;
}

यह कोड उदाहरण http://example.com वेब पेज को डाउनलोड करके टर्मिनल में प्रिन्ट कर देता है।

गहराई से जानकारी (Deep Dive)

वेब पेजेज को डाउनलोड करने के तरीके काफी समय से विकसित हो रहे हैं। पुराने जमाने में telnet या फिर कमांड-लाइन टूल wget का इस्तेमाल होता था। CURL का प्रयोग सबसे आम है, लेकिन अन्य विकल्प जैसे कि http/https क्लाइंट्स होते हैं।

CURL की मदद से HTTP गेट, पोस्ट, और मल्टीपार्ट फॉर्म डेटा रिक्वेस्ट्स को आसानी से बनाया जा सकता है। यह विभिन्न प्रोटोकॉल्स को सपोर्ट करता है और SSL/TLS एन्क्रिप्शन के साथ सुरक्षित कनेक्शन की सुविधा देता है। इसके एपीआई सेट को समझना और लागू करना रिलेटिवली सरल है।

libcurl कई प्लेटफार्म्स पर उपलब्ध है, और इसे सीधे सिस्टम के पैकेज मैनेजर (जैसे कि apt या brew) से इंस्टॉल किया जा सकता है।

और भी जानकारी के लिए (See Also)