#include <http_download.hpp>
◆ http_download()
acl::http_download::http_download |
( |
const char * |
url, |
|
|
const char * |
addr = NULL |
|
) |
| |
构造函数
- 参数
-
url | {const char*} 文件在服务器上的 url 地址 |
addr | {const char*} 非空时,设置服务器地址(格式为: ip[|domain]:port,否则服务器地址从 url 中提取 |
◆ ~http_download()
virtual acl::http_download::~http_download |
( |
| ) |
|
|
virtual |
◆ get()
bool acl::http_download::get |
( |
long long int |
range_from = -1 , |
|
|
long long int |
range_to = -1 , |
|
|
const char * |
req_body = NULL , |
|
|
size_t |
len = 0 |
|
) |
| |
下载文件,当 range_from >= 0 且 range_to >= range_from 时自动 采用分段下载方式,否则采用全部下载方式
- 参数
-
range_from | {acl_int64} 下载起始偏移位置,下标从 0 开始, 当该值 >= 0 且 range_to >= 本值时才采用分段下载方式 |
range_to | {acl_int64} 下载结束偏移位置 |
req_body | {const char*} 请求的数据体 |
len | {size_t} req_body 非空时指明其长度 |
- 返回
- {bool} 下载是否成功,如果返回 true 则表示下载成功,否则 可能是输入参数非法,或 URL 不存在,或服务器不支持断点传输,或 在下载过程中子类返回 false 禁止继续下载
◆ get_addr()
const char* acl::http_download::get_addr |
( |
| ) |
const |
取得由构造函数或 reset 函数输入的 url 所得到的服务器地址,格式为: ip[|domain]:port
- 返回
- {const char*} 返回 NULL 表示输入的 url 非法
◆ get_url()
const char* acl::http_download::get_url |
( |
| ) |
const |
取得由构造函数或 reset 函数输入的 url
- 返回
- {const char*} 返回 NULL 表示输入的 url 非法
◆ on_length()
virtual bool acl::http_download::on_length |
( |
long long int |
n | ) |
|
|
protectedvirtual |
当得到服务器返回完整文件长度后的回调函数
- 参数
-
- 返回
- {bool} 若子类返回 false 则停止继续下载
◆ on_response()
virtual bool acl::http_download::on_response |
( |
http_client * |
conn | ) |
|
|
protectedvirtual |
当发送完 HTTP 请求数据后,读到 HTTP 服务器响应头后的回调函数
- 参数
-
- 返回
- {bool} 若子类返回 false 则停止继续下载
◆ on_save()
virtual bool acl::http_download::on_save |
( |
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
|
protectedpure virtual |
下载过程中,边下载边通知子类下载的数据及数据长度
- 参数
-
data | {const void*} 下载的数据地址 |
len | {size_t} 下载的数据长度 |
- 返回
- {bool} 若子类返回 false 则停止继续下载
◆ request()
调用此函数可以获得 http_request 对象,便于设置或查询请求头 或返回数据中的参数
- 返回
- {http_request*} 返回 NULL 表示输入的 URL 非法
◆ request_header()
http_header* acl::http_download::request_header |
( |
| ) |
const |
在调用 run 之前可以通过本函数获得请求头对象,便于用户设置 自己的请求头字段(但 set_method/set_range 是内部自动设置的)
- 返回
- {http_header*} 返回 NULL 表示输入的 URL 非法
◆ reset()
bool acl::http_download::reset |
( |
const char * |
url = NULL , |
|
|
const char * |
addr = NULL |
|
) |
| |
重置内部请求状态
- 参数
-
url | {const char*} 非空时则用此 URL 替代构造函数中输入的 URL, 否则依然使用构造函数中使用的 url |
addr | {const char*} 非空时,设置服务器地址(格式为: ip[|domain]:port,否则服务器地址从 url 中提取 |
- 返回
- {bool} 返回 false 表示 url 非法
该类的文档由以下文件生成: