acl/lib_acl_cpp/samples/ssl/https_client/https_client.h
2022-08-26 17:51:41 +08:00

30 lines
780 B
C++

#pragma once
class https_client : public acl::thread
{
public:
https_client(const char* server_addr, const char* domain,
bool keep_alive, int count, int length);
~https_client();
void accept_gzip(bool yes);
void set_ssl_conf(acl::sslbase_conf* conf);
void set_show_body(bool yes);
protected:
virtual void* run(); // 基类虚函数,在子线程中被调用
private:
acl::string server_addr_; // 服务器地址
acl::string domain_; // 域名
bool keep_alive_; // 是否采用长连接方式
bool accept_gzip_; // 是否支持压缩
int count_; // IO 会话次数
int length_; // 每次 IO 的数据长度
bool show_body_; // 是否显示收到响应数据体
acl::sslbase_conf* ssl_conf_;
bool connect_server(acl::http_client& client);
int http_request(int count);
};