ESP32HTTPClient¶
The main entry point for the library. Create one instance per server base URL and reuse it across all requests.
Header: #include "ESP32HTTPClient.h"
Constructor¶
ESP32HTTPClient(baseUrl)¶
Creates a client with automatic port selection (80 for HTTP, 443 for HTTPS).
Parameters:
| Parameter | Type | Description |
|---|---|---|
baseUrl |
const char* |
The base URL including protocol (e.g., "https://api.example.com"). Do not include a trailing slash. |
Example:
ESP32HTTPClient(baseUrl, port)¶
Creates a client targeting a specific port.
Parameters:
| Parameter | Type | Description |
|---|---|---|
baseUrl |
const char* |
The base URL including protocol. |
port |
int |
The target TCP port (e.g., 8080, 443). |
Example:
HTTP Request Methods¶
Each method returns a RestRequest that can be chained with .query(), .body(), and .getBody(). The HTTP request is dispatched when the RestRequest object goes out of scope or when the first .getBody() is added.
get(path)¶
Sends a GET request to baseUrl + path.
Example:
post(path)¶
Sends a POST request to baseUrl + path.
Example:
put(path)¶
Sends a PUT request to baseUrl + path.
Example:
update(path)¶
Semantic alias for put(). Sends an identical HTTP PUT request.
Example:
patch(path)¶
Sends a PATCH request to baseUrl + path for partial updates.
Example:
del(path)¶
Sends a DELETE request to baseUrl + path.
Example:
Configuration Methods¶
setHeader(name, value)¶
Registers a custom HTTP header that is sent with every subsequent request.
| Parameter | Limit |
|---|---|
name |
Up to 63 characters |
value |
Up to 255 characters |
Example:
Note
Headers persist for the lifetime of the client instance. Call setHeader() again with the same name to overwrite.
setContentType(contentType)¶
Overrides the Content-Type header used for request bodies. Defaults to application/json.
Example:
getStatusCode()¶
Returns the HTTP status code of the last completed request.
Return values:
| Value | Meaning |
|---|---|
> 0 |
Standard HTTP status code (200, 201, 404, 500…) |
< 0 |
Network-level error (no connection, timeout, etc.) |
0 |
No request has been made yet |
Example:
end()¶
Closes the persistent TCP/TLS Keep-Alive connection and frees its memory buffers.
Call this after a burst of requests to reclaim ~45KB of TLS memory during a long idle period. The next request will automatically re-establish the connection.
Example: