esp32c3,esp-idf 4.3.5,获取网页checkbox的值
时间: 2024-03-07 16:53:10 浏览: 67
要获取网页上的checkbox的值,可以使用ESP32的HTTP客户端库,以HTTP POST请求的方式向服务器发送表单数据,并从服务器获取checkbox的值。
以下是示例代码:
```c
#include <stdio.h>
#include "esp_http_client.h"
// 服务器地址和端口号
#define SERVER_URL "http://your.server.com:8080"
// 表单数据
#define FORM_DATA "checkbox1=1&checkbox2=0"
void http_post_task(void *pvParameter)
{
esp_http_client_config_t config = {
.url = SERVER_URL,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
// 设置POST请求的表单数据
esp_http_client_set_method(client, HTTP_METHOD_POST);
esp_http_client_set_post_field(client, FORM_DATA, strlen(FORM_DATA));
// 发送请求并获取响应
esp_err_t err = esp_http_client_perform(client);
if (err == ESP_OK) {
// 获取响应状态码
int status_code = esp_http_client_get_status_code(client);
if (status_code == 200) {
// 获取响应内容
char *content = calloc(1, esp_http_client_get_content_length(client) + 1);
esp_http_client_read_response(client, content, esp_http_client_get_content_length(client));
printf("Server response: %s\n", content);
free(content);
} else {
printf("Server response error code: %d\n", status_code);
}
} else {
printf("HTTP POST request failed: %s\n", esp_err_to_name(err));
}
esp_http_client_cleanup(client);
vTaskDelete(NULL);
}
```
在表单数据中,"checkbox1"和"checkbox2"是checkbox的name属性,"1"和"0"分别代表选中和未选中状态。服务器端可以通过解析POST请求的表单数据来获取checkbox的值。
阅读全文