Вот пример того, как можно сделать это с использованием 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