diff options
Diffstat (limited to 'src/DownloadUtils.cpp')
-rw-r--r-- | src/DownloadUtils.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/DownloadUtils.cpp b/src/DownloadUtils.cpp index 6f31c2c..129234f 100644 --- a/src/DownloadUtils.cpp +++ b/src/DownloadUtils.cpp @@ -10,9 +10,11 @@ static int accumulate_string(char *data, int size, void *userdata) { return 0; } +static const char *useragent_str = "user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"; + namespace QuickMedia { // TODO: Add timeout - DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor) { + DownloadResult download_to_string(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent) { sf::Clock timer; std::vector<const char*> args; if(use_tor) @@ -22,6 +24,10 @@ namespace QuickMedia { args.push_back(arg.option.c_str()); args.push_back(arg.value.c_str()); } + if(use_browser_useragent) { + args.push_back("-H"); + args.push_back(useragent_str); + } args.push_back("--"); args.push_back(url.c_str()); args.push_back(nullptr); @@ -31,7 +37,7 @@ namespace QuickMedia { return DownloadResult::OK; } - DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor) { + DownloadResult download_to_string_cache(const std::string &url, std::string &result, const std::vector<CommandArg> &additional_args, bool use_tor, bool use_browser_useragent) { Path media_dir = get_cache_dir().join("media"); Path media_file_path = Path(media_dir).join(cppcodec::base64_rfc4648::encode(url)); Path media_finished_path(media_file_path.data + ".finished"); |