отправляет SMS сообщение
Добавлено: 17 авг 2024, 18:08
Для отправки SMS-сообщений с веб-сервера с использованием C++ и библиотеки g++, вы можете воспользоваться API сторонних сервисов, таких как Twilio, Nexmo (также известный как Vonage), или других аналогичных. Эти сервисы обычно предоставляют RESTful API, который можно вызывать для отправки SMS.
Вот пример того, как можно сделать это с использованием C++ и библиотеки libcurl для отправки HTTP-запросов. Этот пример предполагает, что вы используете Twilio.
Компиляция
Не забудьте заменить YOUR_TWILIO_ACCOUNT_SID, YOUR_TWILIO_AUTH_TOKEN, YOUR_TWILIO_PHONE_NUMBER, и RECIPIENT_PHONE_NUMBER на свои реальные данные.
Вот пример того, как можно сделать это с использованием C++ и библиотеки libcurl для отправки HTTP-запросов. Этот пример предполагает, что вы используете Twilio.
Код: Выделить всё
sudo apt-get install libcurl4-openssl-dev
Код: Выделить всё
#include <iostream>
#include <curl/curl.h>
#include <string>
void sendSMS(const std::string& accountSid, const std::string& authToken, const std::string& from, const std::string& to, const std::string& message) {
CURL *curl;
CURLcode res;
std::string url = "https://api.twilio.com/2010-04-01/Accounts/" + accountSid + "/Messages.json";
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
std::string postFields = "From=" + from + "&To=" + to + "&Body=" + message;
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postFields.c_str());
// Аутентификация
curl_easy_setopt(curl, CURLOPT_USERPWD, (accountSid + ":" + authToken).c_str());
// Выполнение запроса
res = curl_easy_perform(curl);
// Проверка на ошибки
if(res != CURLE_OK) {
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
}
// Очистка
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
}
int main() {
// Замените значения на ваши учетные данные Twilio и номер телефона
std::string accountSid = "YOUR_TWILIO_ACCOUNT_SID";
std::string authToken = "YOUR_TWILIO_AUTH_TOKEN";
std::string from = "YOUR_TWILIO_PHONE_NUMBER";
std::string to = "RECIPIENT_PHONE_NUMBER";
std::string message = "Hello from C++!";
sendSMS(accountSid, authToken, from, to, message);
return 0;
}
Код: Выделить всё
g++ -std=c++11 -o send_sms send_sms.cpp -lcurl
./send_sms