1

以下 POST 从终端通过 cURL 工作:

curl
--header 'Authorization: Bearer <access token here>' 
--header 'Content-Type: application/json' 
-X POST https://api.pushbullet.com/v2/pushes 
--data-binary '{"type": "note", "title": "Note Title", "body": "Note Body"}'

但是,我无法在 Arduino IDE(C 语言)中复制它。我以为我可以使用 HTTPClient 对象,但是我只在文档中看到了 GET 方法,而不是 POST。

我将不胜感激任何对正确方向的点头。

4

4 回答 4

3

我会试试这个:

HttpClient client;
client.setHeader("Authorization: Bearer <access token here>");
client.addHeader();
client.setHeader("Content-Type: application/json");
client.addHeader();
client.post("https://api.pushbullet.com/v2/pushes", "{\"type\": \"note\", \"title\": \"Note Title\", \"body\": \"Note Body\"}"

我没有要测试的 Yún。尽管没有 记录post 方法,但它似乎确实存在..

于 2015-04-23T22:34:06.587 回答
0

在 questo modo funziona :-):

Process avviso;


if (!avviso.running())
  {
    avviso.begin("curl");
    avviso.addParameter("-k");
    avviso.addParameter("-H");
    avviso.addParameter("Authorization: Bearer v1EhAXIVEhms05l97PTHkQFRNWiK5q6L6fujzny9qxWvc");
    avviso.addParameter("-X");
    avviso.addParameter("POST");
    avviso.addParameter("https://api.pushbullet.com/v2/pushes");
    avviso.addParameter("-H");
    avviso.addParameter("Content-Type:application/json");
    avviso.addParameter("--data-binary");
    String titolo = "Arduino";
    avviso.addParameter("{\"type\": \"note\", \"title\": \""+titolo+ "\", \"body\": \"Note Body\"}");
    avviso.run(); 
  }
于 2015-07-09T09:02:20.370 回答
0

还记得在调用client.noCheckSSL();之前调用post(),或者get()如果您的端点是 http S

这将使网桥库向curl添加一个-K标志,因此它会忽略安全 ssl 证书等...

这个也是无证的!

于 2018-02-22T05:18:21.163 回答
0

Bridge 库仅支持 GET 请求,但是您可以使用 Process 类来 curl POST 请求...

这些文章解释了如何使用 Process 类分别将数据发送到 ThingSpeak 和 Carriots api,但是您应该能够使用相同的技术访问您想要的任何 api...

希望这会有所帮助......我也会尝试这个并跟进结果。

http://starter-kit.nettigo.eu/2014/arduino-yun-sending-data-thingspeak-post/ https://www.carriots.com/tutorials/send_stream/arduino_yun

于 2015-11-20T00:15:30.157 回答