aboutsummaryrefslogtreecommitdiff
path: root/src/DownloadUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DownloadUtils.cpp')
-rw-r--r--src/DownloadUtils.cpp10
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");