From 8497b3daea44fe26fbc2d089a55e75a219e8d603 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 3 Mar 2022 22:48:54 +0100 Subject: Fix related videos window not showing for generic media, fix ph related videos always same (anti-curl website) --- src/DownloadUtils.cpp | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'src/DownloadUtils.cpp') diff --git a/src/DownloadUtils.cpp b/src/DownloadUtils.cpp index 584d4a3..a4557d2 100644 --- a/src/DownloadUtils.cpp +++ b/src/DownloadUtils.cpp @@ -197,22 +197,41 @@ namespace QuickMedia { result.clear(); mgl::Clock timer; std::vector args; - args.insert(args.end(), { "curl", "-H", "Accept-Language: en-US,en;q=0.5", "-H", "Connection: keep-alive", "--compressed", "-g", "-s", "-L" }); - if(fail_on_error) - args.push_back("-f"); - for(const CommandArg &arg : additional_args) { - args.push_back(arg.option.c_str()); - if(!arg.value.empty()) - args.push_back(arg.value.c_str()); - } - if(!cloudflare_bypass && use_browser_useragent) { - args.push_back("-H"); - args.push_back(useragent_str); + + if(cloudflare_bypass) { + args.insert(args.end(), { "wget", "--header", "Accept-Language: en-US,en;q=0.5", "-q", "-O", "-" }); + // TODO: + //if(fail_on_error) + // args.push_back("-f"); + // TODO: May not be compatible + for(const CommandArg &arg : additional_args) { + args.push_back(arg.option.c_str()); + if(!arg.value.empty()) + args.push_back(arg.value.c_str()); + } + if(use_browser_useragent) { + args.push_back("--header"); + args.push_back(useragent_str); + } + // TODO: + //if(headers) + // args.push_back("-i"); + } else { + args.insert(args.end(), { "curl", "-H", "Accept-Language: en-US,en;q=0.5", "-H", "Connection: keep-alive", "--compressed", "-g", "-s", "-L" }); + if(fail_on_error) + args.push_back("-f"); + for(const CommandArg &arg : additional_args) { + args.push_back(arg.option.c_str()); + if(!arg.value.empty()) + args.push_back(arg.value.c_str()); + } + if(use_browser_useragent) { + args.push_back("-H"); + args.push_back(useragent_str); + } + if(headers) + args.push_back("-i"); } - if(cloudflare_bypass) - args.insert(args.end(), { "--tls-max", "1.1", "-A", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.6" }); - if(headers) - args.push_back("-i"); args.push_back("--"); args.push_back(url.c_str()); args.push_back(nullptr); -- cgit v1.2.3