gpt4 book ai didi

http - curl 转换为简单的 http 请求?

转载 作者:可可西里 更新时间:2023-11-01 16:23:05 31 4
gpt4 key购买 nike

我有一些 curl 请求,我想从中构建一个基本的 POST 请求认证(带有 header 等),我找不到任何转换它的工具:

curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/xxxxxxxxxxxxx/Calls.json' \
--data-urlencode 'To=xxxxxxx65542' \
--data-urlencode 'From=+xxxxxxx4215' \
-d 'Url=https://api.twilio.com/2010-04-01' \
-d 'Method=GET' \
-d 'FallbackMethod=GET' \
-d 'StatusCallbackMethod=GET' \
-d 'Record=false' \
-u ACbe68cddxxxxxxxxxxxx3aba243cc4cdb:0f442xxxxxxxxxxxxxxxxxxx

那么我的 POST 请求应该是什么样子呢?

最佳答案

好吧,我正在尝试弄清楚如何从 ESP8266 nodeMcu v0.9 模块发送短信。它能够像使用 arduino ide 1.6.4 的 arduino 一样工作。

无论如何,我找到了 http://textbelt.com,它只显示了一种发送文本消息的简单 CURL 方式。

这是它要您发送的 CURL 消息

$ curl -X POST http://textbelt.com/text \ -d number=5551234567 \ -d "message=I sent this message for free with textbelt.com"

因此,为了转换为普通的 HTTP POST 命令,我执行了以下操作。 (这适用于 Arduino IDE)number 和 message 是 String 对象。

String messageToSend = "number="+number+"&message="+message;

client.print("POST /text HTTP/1.1\r\n");
client.print("Host: textbelt.com\r\n");
client.print("Content-Type: application/x-www-form-urlencoded\r\n");
client.print("Content-Length: ");
client.print(messageToSend.length());
client.print("\r\n\r\n");
client.print(messageToSend);

起初我尝试不使用 Content-Type,但这似乎不起作用。所以我还必须添加我发送的内容类型。

如果您使用 WireShark 监控网络流量,您会看到

POST /text HTTP/1.1\r\n
Host: textbelt.com\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 48\r\n
\r\n
number=5551234567&message=this is a text message

我可能已经能够使用 less text 和 text/plain 作为内容类型,但我认为它可能需要应用程序 urlencoded 类型才能工作。

希望这对尝试将 curl 转换为 http 的其他人有所帮助。

关于http - curl 转换为简单的 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28318909/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com