|
|
|
@ -2,7 +2,9 @@
|
|
|
|
|
|
|
|
|
|
## 创建会话
|
|
|
|
|
|
|
|
|
|
> struct webclient_session *webclient_session_create(size_t header_sz);
|
|
|
|
|
```c
|
|
|
|
|
struct webclient_session *webclient_session_create(size_t header_sz);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
创建客户端会话结构体。
|
|
|
|
|
|
|
|
|
@ -15,7 +17,9 @@
|
|
|
|
|
|
|
|
|
|
## 关闭会话连接
|
|
|
|
|
|
|
|
|
|
> int webclient_close(struct webclient_session *session);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_close(struct webclient_session *session);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
关闭传入的客户端会话连接,并释放内存。
|
|
|
|
|
|
|
|
|
@ -28,7 +32,9 @@
|
|
|
|
|
|
|
|
|
|
## 发送 GET 请求
|
|
|
|
|
|
|
|
|
|
> int webclient_get(struct webclient_session *session, const char *URI);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_get(struct webclient_session *session, const char *URI);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
发送 HTTP GET 请求命令。
|
|
|
|
|
|
|
|
|
@ -42,7 +48,9 @@
|
|
|
|
|
|
|
|
|
|
## 发送获取部分数据的 GET 请求
|
|
|
|
|
|
|
|
|
|
> int webclient_get_position(struct webclient_session *session, const char *URI, int position);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_get_position(struct webclient_session *session, const char *URI, int position);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
发送带有 Range 头信息的 HTTP GET 请求命令,多用于完成断点续传功能。
|
|
|
|
|
|
|
|
|
@ -57,7 +65,9 @@
|
|
|
|
|
|
|
|
|
|
## 发送 POST 请求
|
|
|
|
|
|
|
|
|
|
> int webclient_post(struct webclient_session *session, const char *URI, const char *post_data);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_post(struct webclient_session *session, const char *URI, const char *post_data);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
发送 HTTP POST 请求命令,上传数据到 HTTP 服务器。
|
|
|
|
|
|
|
|
|
@ -72,7 +82,9 @@
|
|
|
|
|
|
|
|
|
|
## 发送数据
|
|
|
|
|
|
|
|
|
|
> int webclient_write(struct webclient_session *session, const unsigned char *buffer, size_t size);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_write(struct webclient_session *session, const unsigned char *buffer, size_t size);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
发送数据到连接的服务器。
|
|
|
|
|
|
|
|
|
@ -88,7 +100,9 @@
|
|
|
|
|
|
|
|
|
|
## 接收数据
|
|
|
|
|
|
|
|
|
|
> int webclient_read(struct webclient_session *session, unsigned char *buffer, size_t size);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_read(struct webclient_session *session, unsigned char *buffer, size_t size);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
从连接的服务器接收数据。
|
|
|
|
|
|
|
|
|
@ -105,7 +119,9 @@
|
|
|
|
|
|
|
|
|
|
## 设置接收和发送数据超时时间
|
|
|
|
|
|
|
|
|
|
> int webclient_set_timeout(struct webclient_session *session, int millisecond);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_set_timeout(struct webclient_session *session, int millisecond);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
设置连接的接收和发送数据超时时间。
|
|
|
|
|
|
|
|
|
@ -118,7 +134,9 @@
|
|
|
|
|
|
|
|
|
|
## 在请求头中添加字段数据
|
|
|
|
|
|
|
|
|
|
> int webclient_header_fields_add(struct webclient_session *session, const char *fmt, ...);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_header_fields_add(struct webclient_session *session, const char *fmt, ...);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
该函数用于创建会话之后和发送 GET 或 POST 请求之前,用于添加请求头字段数据。
|
|
|
|
|
|
|
|
|
@ -133,7 +151,9 @@
|
|
|
|
|
|
|
|
|
|
## 通过字段名获取字段值数据
|
|
|
|
|
|
|
|
|
|
> const char *webclient_header_fields_get(struct webclient_session *session, const char *fields);
|
|
|
|
|
```c
|
|
|
|
|
const char *webclient_header_fields_get(struct webclient_session *session, const char *fields);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
该函数用于发送 GET 或 POST 请求之后,可以通过传入的字段名称获取对应的字段数据。
|
|
|
|
|
|
|
|
|
@ -148,7 +168,9 @@
|
|
|
|
|
|
|
|
|
|
## 接收响应数据到指定地址
|
|
|
|
|
|
|
|
|
|
> int webclient_response(struct webclient_session *session, unsigned char **response);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_response(struct webclient_session *session, unsigned char **response);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
该函数用于发送 GET 或 POST 请求之后, 可以接收响应数据到指定地址。
|
|
|
|
|
|
|
|
|
@ -162,7 +184,9 @@
|
|
|
|
|
|
|
|
|
|
## 发送 GET/POST 请求并接收响应数据
|
|
|
|
|
|
|
|
|
|
> int webclient_request(const char *URI, const char *header, const char *post_data, unsigned char **response);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_request(const char *URI, const char *header, const char *post_data, unsigned char **response);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
| 参数 | 描述 |
|
|
|
|
|
|:------------------|:-----------------------------------|
|
|
|
|
@ -181,7 +205,9 @@
|
|
|
|
|
|
|
|
|
|
## 获取 HTTP 响应状态码
|
|
|
|
|
|
|
|
|
|
> int webclient_resp_status_get(struct webclient_session *session);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_resp_status_get(struct webclient_session *session);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
该函数用于发送 GET 或 POST 请求之后,用于获取返回的响应状态码。
|
|
|
|
|
|
|
|
|
@ -193,7 +219,9 @@
|
|
|
|
|
|
|
|
|
|
## 获取 Content-Length 字段数据
|
|
|
|
|
|
|
|
|
|
> int webclient_content_length_get(struct webclient_session *session);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_content_length_get(struct webclient_session *session);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
该函数用于发送 GET 或 POST 请求之后,用于获取返回的 Content-Length 字段数据。
|
|
|
|
|
|
|
|
|
@ -206,7 +234,9 @@
|
|
|
|
|
|
|
|
|
|
## 下载文件到本地
|
|
|
|
|
|
|
|
|
|
> int webclient_get_file(const char *URI, const char *filename);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_get_file(const char *URI, const char *filename);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
从 HTTP 服务器下载文件并存放到本地。
|
|
|
|
|
|
|
|
|
@ -220,7 +250,9 @@
|
|
|
|
|
|
|
|
|
|
## 上传文件到服务器
|
|
|
|
|
|
|
|
|
|
> int webclient_post_file(const char *URI, const char *filename, const char *form_data);
|
|
|
|
|
```c
|
|
|
|
|
int webclient_post_file(const char *URI, const char *filename, const char *form_data);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
从 HTTP 服务器下载文件并存放到本地。
|
|
|
|
|
|
|
|
|
|