首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将这个Curl转换为Arduino C++?

如何将这个Curl转换为Arduino C++?
EN

Stack Overflow用户
提问于 2020-04-14 05:28:19
回答 2查看 758关注 0票数 0

我使用这个简单的ArduinoHttpClient示例代码从我的Arduino Uno WiFi Rev2发送一个示例帖子请求到一个可公开访问的URL。它起作用了。我得到了合法的回应。

但是现在,我想从我的Arduino代码发送一个HTTP请求,它模拟这个curl调用来发送一个电子邮件通过MailGun

代码语言:javascript
运行
复制
curl \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--user 'api:XXXXXXXXXXXXXXXXXXXXX' \
--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调用时,我看到它正在发送以下字节:

代码语言:javascript
运行
复制
POST https://api.mailgun.net/v3/sandbox7d1aaf2f157f42d8844b1ac4c38a0ef7.mailgun.org/messages HTTP/1.1
Host: api.mailgun.net
Authorization: Basic YYYYYYYYYYYYYYY
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令牌?要做到这一点,必须有一种熟能生巧的方法。

梅尔贡网站列出了几种语言的示例片段,但没有列出C/C++。他们告诉我今天他们不为C/C++提供代码片段。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-14 13:35:14

这个授权看起来像基业。所以它是base64 64编码的用户:密码。

如果要验证,请尝试base64解码字符串并查看。不用说,这使得它完全不适合在HTTP上使用,因为它将以明文发送您的密码。

票数 1
EN

Stack Overflow用户

发布于 2020-04-14 05:35:14

您可以通过使用system()函数从c++调用curl命令。例如:

代码语言:javascript
运行
复制
system("
   curl \
   --request POST \
   --header 'Content-Type: application/x-www-form-urlencoded' \
   --user 'api:XXXXXXXXXXXXXXXXXXXXX' \
   --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"
");

然后,您可以将“XXXXXXXXXXXXX”替换为您通过注册从mailgun获得的令牌。

正如你所看到的,一旦你注册,你就可以从你的仪表板上得到你的钥匙。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61201230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档