C++:
HTTP अनुरोध भेजना

How to (कैसे करें):

#include <iostream>
#include <curl/curl.h> // libcurl का उपयोग

// Response data को संग्रहित करने के लिए callback function
size_t callbackFunction(char* ptr, size_t size, size_t nmemb, std::string* data) {
    data->append(ptr, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl; // CURL object को परिभाषित करना
    CURLcode res;
    std::string response_data; // Response को संग्रहित करने के लिए

    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init(); // CURL easy session को इनिशिएट करना

    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); // URL सेट करना
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callbackFunction); // Write callback सेट करना
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_data); // Response data के लिए वेरिएबल सेट करना

        res = curl_easy_perform(curl); // Request को प्रदर्शित करना

        if (res != CURLE_OK) { // Error checking
            std::cerr << "CURL failed: " << curl_easy_strerror(res) << std::endl;
        } else {
            std::cout << "Response Data: " << response_data << std::endl; // Output
        }

        curl_easy_cleanup(curl); // Cleanup
    }

    curl_global_cleanup();
    return 0;
}

Sample Output:

Response Data: <html>...
...
</html>

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

सन 1990 में HTTP प्रोटोकॉल को मूल रूप से विकसित किया गया था, जिससे वेबसाइट्स के बीच संचार सरल हो गया। समय के साथ, यह ऑनलाइन संसार की रीढ़ बन गया। विकल्पों में gRPC, WebSocket आदि शामिल हैं, जो विशेष प्रयोजनों के लिए हैं।

HTTP अनुरोध भेजने के लिए C++ में सबसे लोकप्रिय लाइब्रेरी libcurl है। यह व्यापक, सुरक्षित है और मल्टीपल प्लेटफार्म्स पर काम करती है। इसमें सिंक्रोनस और असिंक्रोनस दोनों तरह के अनुरोधों को संधारित करने की क्षमता होती है।

See Also (सम्बंधित सूत्र):