我们使用ESP32_Arduino自带库: HTTPClient
一. 请求相关API函数
首先,创建一个客户端对象
1. 初始化HTTP客户端 http_client.begin()
/**
* 解析url以获得所有参数,默认port是80端口
* @param url String
*/
bool begin(String url);
/**
* 解析url以获得所有参数,默认port是80端口
* @param client : 传入一个网络连接客户端
* @param url String
*/
bool begin(WiFiClient &client, String url);
/**
* 设置host port 以及uri
* @param host String(192.168.1.12,不需要带上http://前缀)
* @param port uint16_t
* @param uri String
*/
bool begin(String host, uint16_t port, String uri = "/");
/**
* 设置host port 以及uri
* @param client 传入一个网络连接客户端
* @param host String(192.168.1.12,不需要带上http://前缀)
* @param port uint16_t
* @param uri String
* @param https bool 是否启用https
*/
bool begin(WiFiClient &client, String host, uint16_t port, String uri = "/", bool https = false);
/**
* 设置host port 以及uri
* @param host String(192.168.1.12,不需要带上http://前缀)
* @param port uint16_t
* @param uri String
* @param CAcert CA证书(https)
*/
bool begin(String host, uint16_t port, String uri, const char* CAcert);
bool begin(String host, uint16_t port, String uri, const char* CAcert, const char* cli_cert, const char* cli_key);
2. 设置长连接 http_client.setReuse(true);
/**
* try to reuse the connection to the server
* keep-alive 请求头
* @param reuse bool
*/
void setReuse(bool reuse); // keep-alive
3. setUserAgent —— 封装标准请求头User-Agent
/**
* set User Agent
* User Agent请求头:使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
* @param userAgent const char *
*/
void setUserAgent(const String& userAgent);
4. addHeader —— 封装自定义请求头
函数说明:
/**
* adds Header to the request
* @param name 自定义请求头的名字
* @param value 自定义请求头的参数值
* @param first 是否要把当前请求头放在请求头的最前面
* @param replace 是否需要替换之前已经存在该请求头的参数值,默认就是覆盖旧值
*/
void addHeader(const String& name, const String& value, bool first