Я использую этот простой пример кода ArduinoHttpClient , чтобы отправить пример запроса POST от моего Arduino на общедоступный URL-адрес. Оно работает. Я получаю git ответ.
Но теперь я хочу отправить HTTP-запрос из моего кода Arduino, который имитирует этот вызов curl, чтобы отправить электронное письмо через MailGun :
curl \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--user 'api:my-api-key-obtained-from-mailgun-website' \
--data-urlencode from='Mailgun Sandbox <postmaster@sandbox7d1aaf2f157f42d8844b1ac4c38a0ef7.mailgun.org>' \
--data-urlencode to='Me <myemail@gmail.com>' \
--data-urlencode subject='Hello World1' \
--data-urlencode text='Hello World2' \
"https://api.mailgun.net/v3/sandbox7d1aaf2f157f42d8844b1ac4c38a0ef7.mailgun.org/messages"
Как я могу это сделать? Когда я перехватил этот вызов curl с помощью прокси-сервера, я вижу, что он отправляет следующие байты:
POST https://api.mailgun.net/v3/sandbox7d1aaf2f157f42d8844b1ac4c38a0ef7.mailgun.org/messages HTTP/1.1
Host: api.mailgun.net
Authorization: Basic XXXXXX-How-Was-This-Token-Acquired??-XXXXXXXXXXX
User-Agent: curl/7.54.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
Content-Length: 183
from=Mailgun%20Sandbox%20%3Cpostmaster%40sandbox7d1aaf2f157f42d8844b1ac4c38a0ef7.mailgun.org%3E&to=Me%20%3Cmyemail%40gmail.com%3E&subject=Hello%20World1&text=Hello%20World2
Трудно воссоздать это в C ++. Как получается этот токен Authorization
? Должен быть идиоматичный / хорошо известный способ сделать это.
На веб-сайте MailGun приведены примеры фрагментов из нескольких языков , но не C / C ++ .