104 lines
2.3 KiB
C
104 lines
2.3 KiB
C
/*
|
|
* web_client.c
|
|
*
|
|
* Created on: 4. aug. 2023
|
|
* Author: OZ1CM
|
|
*/
|
|
#include "http_client.h"
|
|
|
|
|
|
#include "esp_log.h"
|
|
|
|
#define TAG "http_client"
|
|
|
|
esp_err_t _http_event_handle(esp_http_client_event_t *evt)
|
|
{
|
|
switch(evt->event_id) {
|
|
case HTTP_EVENT_ERROR:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_ERROR");
|
|
break;
|
|
case HTTP_EVENT_ON_CONNECTED:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_ON_CONNECTED");
|
|
break;
|
|
case HTTP_EVENT_HEADER_SENT:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_HEADER_SENT");
|
|
// printf("%.*s", evt->data_len, (char*)evt->data);
|
|
break;
|
|
case HTTP_EVENT_ON_HEADER:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_ON_HEADER");
|
|
printf("%.*s", evt->data_len, (char*)evt->data);
|
|
break;
|
|
case HTTP_EVENT_ON_DATA:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_ON_DATA, len=%d", evt->data_len);
|
|
//if (!esp_http_client_is_chunked_response(evt->client)) {
|
|
ESP_LOGI(TAG,"Response from server: %s",(char*)evt->data);
|
|
|
|
//}
|
|
|
|
break;
|
|
case HTTP_EVENT_ON_FINISH:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_ON_FINISH");
|
|
break;
|
|
case HTTP_EVENT_DISCONNECTED:
|
|
ESP_LOGI(TAG, "HTTP_EVENT_DISCONNECTED");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return ESP_OK;
|
|
}
|
|
|
|
int http_client_sendUrl(http_client_t *inst,char *url){
|
|
|
|
esp_http_client_config_t config = {
|
|
.url = url,
|
|
.method = HTTP_METHOD_GET,
|
|
//.event_handler = _http_event_handle,
|
|
};
|
|
|
|
|
|
|
|
|
|
inst->client = esp_http_client_init(&config);
|
|
|
|
esp_err_t err;
|
|
|
|
err = esp_http_client_perform(inst->client);
|
|
|
|
// some error logging..
|
|
if(err == ESP_OK){
|
|
|
|
int status_code = esp_http_client_get_status_code(inst->client);
|
|
|
|
switch (status_code){
|
|
|
|
case 200:
|
|
ESP_LOGI(TAG, "Message sent Successfully");
|
|
esp_http_client_cleanup(inst->client);
|
|
return 0;
|
|
break;
|
|
|
|
default:
|
|
ESP_LOGE(TAG, "Message sent Failed");
|
|
esp_http_client_cleanup(inst->client);
|
|
return 1;
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
}else{
|
|
ESP_LOGE(TAG, "Message sent Failed");
|
|
esp_http_client_cleanup(inst->client);
|
|
}
|
|
|
|
|
|
|
|
// ESP_LOGI(TAG, "URL: %s", inst->client->);
|
|
//ESP_LOGI(TAG,"hejmeddig");
|
|
|
|
//esp_http_client_set_header(inst->client, "Content-Type", "application/x-www-form-urlencoded");
|
|
return 1;
|
|
|
|
}
|