#include <curl/curl.h>
#include <iostream>
#include <string>
typedef enum { kHttp = 0, kHttps, kOtherProtocol } HttpType;
class HttpTool {
public:
static std::string GetPicName(const std::string url);
static std::size_t WriteData(void *ptr, const std::size_t size,
const std::size_t nmemb, std::FILE *stream) {
std::size_t written = fwrite(ptr, size, nmemb, stream);
return written;
}
static int DownloadFile(const std::string url,
const std::string file_save_path);
HttpTool() {}
virtual ~HttpTool() {}
private:
static HttpType ParseUrl(const std::string url);
static int DownloadFileByCurl(const std::string url,
const std::string file_save_path);
static int HttpDownload(const std::string url,
const std::string file_save_path);
static const char *kTag;
static bool CreateDir(const std::string full_file_name);
};