From d03cbefa5787b5bf6ed8f512d296a927bd870ac5 Mon Sep 17 00:00:00 2001 From: kaso17 Date: Fri, 11 Aug 2017 16:52:58 +0200 Subject: [PATCH] IWebClient: add EmulateBrowser flag --- src/Jackett/Utils/Clients/HttpWebClient.cs | 2 +- src/Jackett/Utils/Clients/HttpWebClient2.cs | 2 +- src/Jackett/Utils/Clients/IWebClient.cs | 4 ++++ src/Jackett/Utils/Clients/UnixSafeCurlWebClient.cs | 2 +- src/Jackett/Utils/Clients/WebRequest.cs | 4 +--- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Jackett/Utils/Clients/HttpWebClient.cs b/src/Jackett/Utils/Clients/HttpWebClient.cs index 83a6c5a91..33735c7e3 100644 --- a/src/Jackett/Utils/Clients/HttpWebClient.cs +++ b/src/Jackett/Utils/Clients/HttpWebClient.cs @@ -103,7 +103,7 @@ namespace Jackett.Utils.Clients clearanceHandlr.InnerHandler = clientHandlr; using (var client = new HttpClient(clearanceHandlr)) { - if (webRequest.EmulateBrowser) + if (webRequest.EmulateBrowser == true) client.DefaultRequestHeaders.Add("User-Agent", BrowserUtil.ChromeUserAgent); else client.DefaultRequestHeaders.Add("User-Agent", "Jackett/" + configService.GetVersion()); diff --git a/src/Jackett/Utils/Clients/HttpWebClient2.cs b/src/Jackett/Utils/Clients/HttpWebClient2.cs index 1c978bd6b..31eed563d 100644 --- a/src/Jackett/Utils/Clients/HttpWebClient2.cs +++ b/src/Jackett/Utils/Clients/HttpWebClient2.cs @@ -95,7 +95,7 @@ namespace Jackett.Utils.Clients request.Headers.ExpectContinue = false; request.RequestUri = new Uri(webRequest.Url); - if (webRequest.EmulateBrowser) + if (webRequest.EmulateBrowser == true) request.Headers.UserAgent.ParseAdd(BrowserUtil.ChromeUserAgent); else request.Headers.UserAgent.ParseAdd("Jackett/" + configService.GetVersion()); diff --git a/src/Jackett/Utils/Clients/IWebClient.cs b/src/Jackett/Utils/Clients/IWebClient.cs index 61b280de9..204365713 100644 --- a/src/Jackett/Utils/Clients/IWebClient.cs +++ b/src/Jackett/Utils/Clients/IWebClient.cs @@ -18,6 +18,7 @@ namespace Jackett.Utils.Clients protected IProcessService processService; protected DateTime lastRequest = DateTime.MinValue; protected TimeSpan requestDelayTimeSpan; + public bool EmulateBrowser = true; public double requestDelay { get { return requestDelayTimeSpan.TotalSeconds; } @@ -41,6 +42,9 @@ namespace Jackett.Utils.Clients async protected void DelayRequest(WebRequest request) { + if (request.EmulateBrowser == null) + request.EmulateBrowser = EmulateBrowser; + if (requestDelay != 0) { var timeElapsed = DateTime.Now - lastRequest; diff --git a/src/Jackett/Utils/Clients/UnixSafeCurlWebClient.cs b/src/Jackett/Utils/Clients/UnixSafeCurlWebClient.cs index c4ef88552..98eabd471 100644 --- a/src/Jackett/Utils/Clients/UnixSafeCurlWebClient.cs +++ b/src/Jackett/Utils/Clients/UnixSafeCurlWebClient.cs @@ -37,7 +37,7 @@ namespace Jackett.Utils.Clients args.AppendFormat("--url \"{0}\" ", request.Url); - if (request.EmulateBrowser) + if (request.EmulateBrowser == true) args.AppendFormat("-i -sS --user-agent \"{0}\" ", BrowserUtil.ChromeUserAgent); else args.AppendFormat("-i -sS --user-agent \"{0}\" ", "Jackett/" + configService.GetVersion()); diff --git a/src/Jackett/Utils/Clients/WebRequest.cs b/src/Jackett/Utils/Clients/WebRequest.cs index e00f558e4..66c8c770b 100644 --- a/src/Jackett/Utils/Clients/WebRequest.cs +++ b/src/Jackett/Utils/Clients/WebRequest.cs @@ -14,7 +14,6 @@ namespace Jackett.Utils.Clients PostData = new List>(); Type = RequestType.GET; Headers = new Dictionary(StringComparer.InvariantCultureIgnoreCase); - EmulateBrowser = true; } public WebRequest(string url) @@ -23,7 +22,6 @@ namespace Jackett.Utils.Clients Type = RequestType.GET; Url = url; Headers = new Dictionary(StringComparer.InvariantCultureIgnoreCase); - EmulateBrowser = true; } public string Url { get; set; } @@ -32,7 +30,7 @@ namespace Jackett.Utils.Clients public string Referer { get; set; } public RequestType Type { get; set; } public string RawBody { get; set; } - public bool EmulateBrowser { get; set; } + public bool? EmulateBrowser { get; set; } public Encoding Encoding { get; set; } ///