C++ पर SMS भेजना: libcurl और cpprestsdk API लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C++ पर SMS भेजना: libcurl और cpprestsdk API लाइब्रेरी



C++ में आधुनिक विकास में अक्सर बाहरी सेवाओं के साथ एकीकरण की आवश्यकता होती है, जिसमें SMS संदेश भेजना शामिल है। हालाँकि मानक C++ लाइब्रेरी HTTP अनुरोधों के साथ काम करने के लिए अंतर्निहित साधन प्रदान नहीं करती है, फिर भी शक्तिशाली तृतीय-पक्ष लाइब्रेरी मौजूद हैं जो इस कार्य को हल करती हैं। इस लेख में, हम दो लोकप्रिय लाइब्रेरी — libcurl (CURL) और cpprestsdk (Casablanca) — पर विचार करेंगे और दिखाएंगे कि उनकी मदद से लोकप्रिय SMS प्रदाताओं के API के माध्यम से SMS कैसे भेजें।



C++ पर SMS भेजने के लिए लाइब्रेरी की आवश्यकता क्यों है?



C++ के माध्यम से SMS भेजना सर्वर अनुप्रयोगों, निगरानी प्रणालियों, सूचनाओं या स्वचालन के लिए एक सामान्य कार्य है। C++ में सॉकेट और HTTP प्रोटोकॉल के साथ सीधा काम करना जटिल और त्रुटि-प्रवण है। libcurl और cpprestsdk जैसी लाइब्रेरी इस जटिलता को सारगर्भित करती हैं, HTTP अनुरोध (GET, POST, PUT) करने और JSON/XML प्रतिक्रियाओं को संसाधित करने के लिए एक सुविधाजनक इंटरफ़ेस प्रदान करती हैं।



हम SMS प्रदाता के API का उपयोग करेंगे (उदाहरण के लिए, Twilio, SMS.ru या कोई अन्य जो REST API का समर्थन करता है)। नीचे दिए गए उदाहरणों में YOUR_API_KEY, YOUR_SENDER और YOUR_PHONE को अपने वास्तविक डेटा से बदलें।



लाइब्रेरी 1: libcurl (CURL)



libcurl URL के साथ काम करने के लिए एक समय-परीक्षणित लाइब्रेरी है, जो कई प्रोटोकॉल (HTTP, HTTPS, FTP, आदि) का समर्थन करती है। यह C में लिखी गई है, लेकिन इसमें उत्कृष्ट C++ बाइंडिंग हैं। C++ प्रोजेक्ट में उपयोग करने के लिए, हेडर फ़ाइल curl/curl.h को शामिल करना और libcurl से लिंक करना पर्याप्त है।



libcurl की स्थापना

  • Linux (Ubuntu/Debian): sudo apt-get install libcurl4-openssl-dev
  • Windows: आधिकारिक वेबसाइट से पूर्व-निर्मित बाइनरी फ़ाइलें डाउनलोड करें या vcpkg का उपयोग करें: vcpkg install curl
  • macOS: brew install curl


libcurl के माध्यम से SMS भेजने का उदाहरण (C++ सिंटैक्स)

इस उदाहरण में, हम JSON प्रारूप में डेटा के साथ एक सरल POST अनुरोध का उपयोग करते हैं। libcurl लाइब्रेरी HTTP हेडर और अनुरोध के मुख्य भाग को संभालती है।



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

// सर्वर प्रतिक्रिया लिखने के लिए कॉलबैक फ़ंक्शनsize_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) { size_t totalSize = size * nmemb; output->append((char*)contents, totalSize); return totalSize;}

bool sendSMS_via_libcurl(const std::string& phone, const std::string& message) { CURL* curl = curl_easy_init(); if (!curl) return false;

std::string response; std::string url = "https://api.sms-provider.com/v1/send"; // अपने प्रदाता के URL से बदलें std::string jsonData = R"({ "api_key": "YOUR_API_KEY", "sender": "YOUR_SENDER", "phone": ")" + phone + R"(", "text": ")" + message + R"(" })";

struct curl_slist* headers = nullptr; headers = curl_slist_append(headers, "Content-Type: application/json");

curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonData.c_str()); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

CURLcode res = curl_easy_perform(curl); curl_slist_free_all(headers); curl_easy_cleanup(curl);

if (res != CURLE_OK) { std::cerr << "curl त्रुटि: " << curl_easy_strerror(res) << std::endl; return false; }

std::cout << "सर्वर प्रतिक्रिया: " << response << std::endl; return true;}

int main() { curl_global_init(CURL_GLOBAL_DEF

अनुशंसाएँ