esp32 发送post
时间: 2023-10-07 22:06:46 浏览: 252
要在 ESP32 上发送 POST 请求,你需要使用 ESP32 HTTP 客户端库(例如 ESP32 HTTPClient 库)。下面是一个发送 POST 请求的示例代码:
```c++
#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "你的 WiFi 名称";
const char* password = "你的 WiFi 密码";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("正在连接 WiFi...");
}
Serial.println("WiFi 连接成功");
}
void loop() {
HTTPClient http;
http.begin("http://example.com/api/data"); // 设置请求的 URL
http.addHeader("Content-Type", "application/json"); // 设置请求头
String requestBody = "{\"key\":\"value\"}"; // 设置请求体
int httpResponseCode = http.POST(requestBody); // 发送 POST 请求并获取响应码
if (httpResponseCode > 0) {
Serial.println(http.getString()); // 打印响应消息体
Serial.println(httpResponseCode); // 打印响应码
} else {
Serial.println("发送失败");
}
http.end();
delay(5000);
}
```
在这个示例代码中,我们首先连接到 WiFi 网络,然后使用 `HTTPClient` 类创建一个 HTTP 客户端对象。在 `http.begin()` 方法中设置请求的 URL,`http.addHeader()` 方法设置请求头,`requestBody` 变量设置请求体。 `http.POST()` 方法发送 POST 请求,并返回响应码。最后,我们使用 `http.getString()` 方法获取响应消息体,并使用 `Serial.println()` 方法打印响应消息体和响应码。
注意,你需要将 `ssid` 和 `password` 变量替换为你的 WiFi SSID 和密码。同时,你需要将 `http.begin()` 方法中的 URL 替换为你需要请求的 URL。
阅读全文