fanyi/handle.h

60 lines
1.2 KiB
C
Raw Normal View History

2025-01-06 13:31:00 +08:00
#pragma once
#include <curl/curl.h>
#include <string>
#include <openssl/evp.h>
#include <openssl/err.h>
class CHttpsHandle
{
public:
CHttpsHandle();
~CHttpsHandle();
public:
std::string sendGetRequest(const std::string& url);
private:
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp);
private:
CURL* curl{};
};
class CUtil
{
public:
CUtil() = default;
~CUtil() = default;
public:
static std::string generateMD5(const std::string& input);
static std::string generateRandomNumStr();
static std::string urlEncode(const std::string& str);
};
using str_t = std::string;
class CTransTool
{
public:
CTransTool() = default;
~CTransTool() = default;
public:
void set_id(const str_t& id, const str_t& secret_key);
std::string combine(const str_t& words, const str_t& from, const str_t& to);
private:
std::string appid_{};
std::string secret_key_{};
};
struct ConfigInfo {
std::string baseUrl;
std::string appID;
std::string secretID;
2025-03-04 11:19:09 +08:00
std::string interval{"1000"};
2025-01-06 13:31:00 +08:00
};
class CConfig
{
public:
CConfig() = default;
~CConfig() = default;
public:
bool parse_config(ConfigInfo& config, const std::string& config_path = "");
};