| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // http_request.c
- #include "esp_http_client.h"
- #include "esp_log.h"
- static const char *TAG = "http_request";
- // HTTP事件处理函数
- esp_err_t _http_event_handler(esp_http_client_event_t *evt)
- {
- switch (evt->event_id) {
- case HTTP_EVENT_ERROR:
- ESP_LOGD(TAG, "HTTP_EVENT_ERROR");
- break;
- case HTTP_EVENT_ON_CONNECTED:
- ESP_LOGD(TAG, "HTTP_EVENT_ON_CONNECTED");
- break;
- case HTTP_EVENT_ON_DATA:
- ESP_LOGD(TAG, "HTTP_EVENT_ON_DATA, len=%d", evt->data_len);
- if (evt->data_len) {
- ESP_LOGI(TAG, "Received data: %.*s", evt->data_len, (char*)evt->data);
- }
- break;
- case HTTP_EVENT_ON_FINISH:
- ESP_LOGD(TAG, "HTTP_EVENT_ON_FINISH");
- break;
- case HTTP_EVENT_DISCONNECTED:
- ESP_LOGI(TAG, "HTTP_EVENT_DISCONNECTED");
- break;
- default:
- break;
- }
- return ESP_OK;
- }
- // 发起一个简单的GET请求
- void http_get_request(void)
- {
- esp_http_client_config_t config = {
- .url = "http://60.204.139.57:6002/categories", // 替换为你要请求的URL
- .event_handler = _http_event_handler,
- };
- esp_http_client_handle_t client = esp_http_client_init(&config);
- // 执行GET请求
- esp_err_t err = esp_http_client_perform(client);
- if (err == ESP_OK) {
- ESP_LOGI(TAG, "HTTP GET Status = %d, content_length = %"PRId64,
- esp_http_client_get_status_code(client),
- esp_http_client_get_content_length(client));
- } else {
- ESP_LOGE(TAG, "HTTP GET request failed: %s", esp_err_to_name(err));
- }
- esp_http_client_cleanup(client);
- }
|