From d760350dc035cca677f2878669d1293ea0dd0759 Mon Sep 17 00:00:00 2001 From: Cory Date: Tue, 9 Jun 2020 19:36:57 +0200 Subject: [PATCH] core: refactor http webclient part 1 #8529 (#7652) Rename WebClientStringResult.Content to WebClientStringResult.ContentString --- src/Jackett.Common/Indexers/Abnormal.cs | 4 +- .../Indexers/Abstract/AvistazTracker.cs | 8 ++-- .../Indexers/Abstract/CouchPotatoTracker.cs | 6 +-- .../Indexers/Abstract/GazelleTracker.cs | 10 ++-- .../Indexers/Abstract/XtremeZoneTracker.cs | 8 ++-- src/Jackett.Common/Indexers/AniDUB.cs | 16 +++---- src/Jackett.Common/Indexers/Anidex.cs | 2 +- src/Jackett.Common/Indexers/AnimeBytes.cs | 6 +-- src/Jackett.Common/Indexers/AnimeTorrents.cs | 6 +-- src/Jackett.Common/Indexers/Anthelion.cs | 8 ++-- src/Jackett.Common/Indexers/AwesomeHD.cs | 6 +-- src/Jackett.Common/Indexers/BB.cs | 8 ++-- src/Jackett.Common/Indexers/BJShare.cs | 12 ++--- src/Jackett.Common/Indexers/BakaBT.cs | 10 ++-- src/Jackett.Common/Indexers/BaseIndexer.cs | 2 +- .../Indexers/BitCityReloaded.cs | 6 +-- src/Jackett.Common/Indexers/BitHDTV.cs | 10 ++-- src/Jackett.Common/Indexers/BroadcasTheNet.cs | 4 +- .../Indexers/CardigannIndexer.cs | 18 +++---- src/Jackett.Common/Indexers/Cinecalidad.cs | 10 ++-- src/Jackett.Common/Indexers/CorsaroRed.cs | 4 +- src/Jackett.Common/Indexers/DigitalCore.cs | 4 +- src/Jackett.Common/Indexers/DigitalHive.cs | 10 ++-- src/Jackett.Common/Indexers/DivxTotal.cs | 14 +++--- src/Jackett.Common/Indexers/EliteTracker.cs | 6 +-- src/Jackett.Common/Indexers/EpubLibre.cs | 8 ++-- .../Indexers/Feeds/BaseFeedIndexer.cs | 2 +- src/Jackett.Common/Indexers/FileList.cs | 2 +- src/Jackett.Common/Indexers/FunFile.cs | 8 ++-- src/Jackett.Common/Indexers/Fuzer.cs | 12 ++--- src/Jackett.Common/Indexers/GazelleGames.cs | 4 +- src/Jackett.Common/Indexers/GimmePeers.cs | 6 +-- src/Jackett.Common/Indexers/HDBitsApi.cs | 4 +- src/Jackett.Common/Indexers/HDSpace.cs | 8 ++-- src/Jackett.Common/Indexers/HDTorrents.cs | 6 +-- src/Jackett.Common/Indexers/Hebits.cs | 8 ++-- src/Jackett.Common/Indexers/HorribleSubs.cs | 18 +++---- src/Jackett.Common/Indexers/IPTorrents.cs | 2 +- src/Jackett.Common/Indexers/ImmortalSeed.cs | 10 ++-- .../Indexers/InternetArchive.cs | 4 +- src/Jackett.Common/Indexers/Libble.cs | 8 ++-- src/Jackett.Common/Indexers/LostFilm.cs | 48 +++++++++---------- src/Jackett.Common/Indexers/MejorTorrent.cs | 24 +++++----- src/Jackett.Common/Indexers/Milkie.cs | 4 +- src/Jackett.Common/Indexers/MoreThanTV.cs | 10 ++-- src/Jackett.Common/Indexers/MyAmity.cs | 6 +-- src/Jackett.Common/Indexers/MyAnonamouse.cs | 8 ++-- src/Jackett.Common/Indexers/NCore.cs | 10 ++-- src/Jackett.Common/Indexers/Nebulance.cs | 10 ++-- src/Jackett.Common/Indexers/NewPCT.cs | 12 ++--- src/Jackett.Common/Indexers/NewRealWorld.cs | 8 ++-- src/Jackett.Common/Indexers/NorBits.cs | 4 +- src/Jackett.Common/Indexers/NordicBits.cs | 4 +- src/Jackett.Common/Indexers/Partis.cs | 10 ++-- src/Jackett.Common/Indexers/PassThePopcorn.cs | 4 +- src/Jackett.Common/Indexers/PirateTheNet.cs | 8 ++-- src/Jackett.Common/Indexers/PixelHD.cs | 10 ++-- src/Jackett.Common/Indexers/PolishTracker.cs | 8 ++-- src/Jackett.Common/Indexers/PornoLab.cs | 16 +++---- src/Jackett.Common/Indexers/PreToMe.cs | 6 +-- src/Jackett.Common/Indexers/RarBG.cs | 10 ++-- src/Jackett.Common/Indexers/RevolutionTT.cs | 10 ++-- src/Jackett.Common/Indexers/RuTracker.cs | 14 +++--- src/Jackett.Common/Indexers/SceneHD.cs | 6 +-- src/Jackett.Common/Indexers/SceneTime.cs | 12 ++--- src/Jackett.Common/Indexers/Shazbat.cs | 12 ++--- src/Jackett.Common/Indexers/ShowRSS.cs | 4 +- src/Jackett.Common/Indexers/SolidTorrents.cs | 4 +- src/Jackett.Common/Indexers/SpeedCD.cs | 14 +++--- src/Jackett.Common/Indexers/SuperBits.cs | 4 +- src/Jackett.Common/Indexers/TVStore.cs | 12 ++--- src/Jackett.Common/Indexers/TVVault.cs | 8 ++-- src/Jackett.Common/Indexers/Toloka.cs | 12 ++--- src/Jackett.Common/Indexers/TorrenTech.cs | 10 ++-- src/Jackett.Common/Indexers/TorrentBytes.cs | 10 ++-- src/Jackett.Common/Indexers/TorrentDay.cs | 4 +- src/Jackett.Common/Indexers/TorrentHeaven.cs | 14 +++--- src/Jackett.Common/Indexers/TorrentLeech.cs | 12 ++--- src/Jackett.Common/Indexers/TorrentNetwork.cs | 6 +-- src/Jackett.Common/Indexers/TorrentSeeds.cs | 10 ++-- .../Indexers/TorrentSyndikat.cs | 10 ++-- src/Jackett.Common/Indexers/TorrentsCSV.cs | 4 +- src/Jackett.Common/Indexers/XSpeeds.cs | 12 ++--- src/Jackett.Common/Indexers/Xthor.cs | 4 +- src/Jackett.Common/Indexers/YTS.cs | 6 +-- src/Jackett.Common/Services/ImdbResolver.cs | 2 +- src/Jackett.Common/Services/UpdateService.cs | 2 +- src/Jackett.Common/Utils/Clients/WebClient.cs | 4 +- .../Utils/Clients/WebClientResult.cs | 2 +- src/Jackett.Server/Helper.cs | 8 ++-- 90 files changed, 380 insertions(+), 380 deletions(-) diff --git a/src/Jackett.Common/Indexers/Abnormal.cs b/src/Jackett.Common/Indexers/Abnormal.cs index a8a2d1b37..0b985aa21 100644 --- a/src/Jackett.Common/Indexers/Abnormal.cs +++ b/src/Jackett.Common/Indexers/Abnormal.cs @@ -173,7 +173,7 @@ namespace Jackett.Common.Indexers { // Parse error page var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var message = dom.QuerySelector(".warning").TextContent.Split('.').Reverse().Skip(1).First(); // Try left @@ -558,7 +558,7 @@ namespace Jackett.Common.Indexers results = await RequestStringWithCookiesAndRetry(request, null, null, emulatedBrowserHeaders); // Return results from tracker - return results.Content; + return results.ContentString; } /// diff --git a/src/Jackett.Common/Indexers/Abstract/AvistazTracker.cs b/src/Jackett.Common/Indexers/Abstract/AvistazTracker.cs index 98298c21b..20f4b66af 100644 --- a/src/Jackett.Common/Indexers/Abstract/AvistazTracker.cs +++ b/src/Jackett.Common/Indexers/Abstract/AvistazTracker.cs @@ -149,7 +149,7 @@ without this configuration the torrent download does not work.
You can find { "pid", configData.Pid.Value.Trim() } }; var result = await PostDataWithCookies(AuthUrl, body, headers: AuthHeaders); - var json = JObject.Parse(result.Content); + var json = JObject.Parse(result.ContentString); _token = json.Value("token"); if (_token == null) throw new Exception(json.Value("message")); @@ -168,11 +168,11 @@ without this configuration the torrent download does not work.
You can find response = await RequestStringWithCookiesAndRetry(episodeSearchUrl, headers: GetSearchHeaders()); } else if (response.Status != HttpStatusCode.OK) - throw new Exception($"Unknown error: {response.Content}"); + throw new Exception($"Unknown error: {response.ContentString}"); try { - var jsonContent = JToken.Parse(response.Content); + var jsonContent = JToken.Parse(response.ContentString); foreach (var row in jsonContent.Value("data")) { var comments = new Uri(row.Value("url")); @@ -237,7 +237,7 @@ without this configuration the torrent download does not work.
You can find } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/Abstract/CouchPotatoTracker.cs b/src/Jackett.Common/Indexers/Abstract/CouchPotatoTracker.cs index 0307dad2a..fdba46f78 100644 --- a/src/Jackett.Common/Indexers/Abstract/CouchPotatoTracker.cs +++ b/src/Jackett.Common/Indexers/Abstract/CouchPotatoTracker.cs @@ -80,11 +80,11 @@ namespace Jackett.Common.Indexers.Abstract JObject json = null; try { - json = JObject.Parse(response.Content); + json = JObject.Parse(response.ContentString); } catch (Exception ex) { - throw new Exception("Error while parsing json: " + response.Content, ex); + throw new Exception("Error while parsing json: " + response.ContentString, ex); } var error = (string)json["error"]; if (error != null) @@ -122,7 +122,7 @@ namespace Jackett.Common.Indexers.Abstract } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Abstract/GazelleTracker.cs b/src/Jackett.Common/Indexers/Abstract/GazelleTracker.cs index 019a1c59e..ececf7356 100644 --- a/src/Jackett.Common/Indexers/Abstract/GazelleTracker.cs +++ b/src/Jackett.Common/Indexers/Abstract/GazelleTracker.cs @@ -129,13 +129,13 @@ namespace Jackett.Common.Indexers.Abstract } var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, string.Empty, true, SiteLink); - await ConfigureIfOK(response.Cookies, response.Content != null && response.Content.Contains("logout.php"), () => + await ConfigureIfOK(response.Cookies, response.ContentString != null && response.ContentString.Contains("logout.php"), () => { var loginResultParser = new HtmlParser(); - var loginResultDocument = loginResultParser.ParseDocument(response.Content); + var loginResultDocument = loginResultParser.ParseDocument(response.ContentString); var loginform = loginResultDocument.QuerySelector("#loginform"); if (loginform == null) - throw new ExceptionWithConfigData(response.Content, configData); + throw new ExceptionWithConfigData(response.ContentString, configData); loginform.QuerySelector("table").Remove(); var errorMessage = loginform.TextContent.Replace("\n\t", " ").Trim(); @@ -206,7 +206,7 @@ namespace Jackett.Common.Indexers.Abstract try { - var json = JObject.Parse(response.Content); + var json = JObject.Parse(response.ContentString); foreach (JObject r in json["response"]["results"]) { var groupTime = DateTimeUtil.UnixTimestampToDateTime(long.Parse((string)r["groupTime"])); @@ -266,7 +266,7 @@ namespace Jackett.Common.Indexers.Abstract } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Abstract/XtremeZoneTracker.cs b/src/Jackett.Common/Indexers/Abstract/XtremeZoneTracker.cs index c1e78b73f..6062b3006 100644 --- a/src/Jackett.Common/Indexers/Abstract/XtremeZoneTracker.cs +++ b/src/Jackett.Common/Indexers/Abstract/XtremeZoneTracker.cs @@ -75,7 +75,7 @@ namespace Jackett.Common.Indexers.Abstract }; var jsonData = JsonConvert.SerializeObject(body); var result = await PostDataWithCookies(LoginUrl, null, headers: ApiHeaders, rawbody: jsonData); - var json = JObject.Parse(result.Content); + var json = JObject.Parse(result.ContentString); _token = json.Value("token"); if (_token == null) throw new Exception(json.Value("message")); @@ -112,11 +112,11 @@ namespace Jackett.Common.Indexers.Abstract response = await RequestStringWithCookies(searchUrl, headers: GetSearchHeaders()); } else if (response.Status != HttpStatusCode.OK) - throw new Exception($"Unknown error in search: {response.Content}"); + throw new Exception($"Unknown error in search: {response.ContentString}"); try { - var rows = JArray.Parse(response.Content); + var rows = JArray.Parse(response.ContentString); foreach (var row in rows) { var id = row.Value("id"); @@ -160,7 +160,7 @@ namespace Jackett.Common.Indexers.Abstract } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/AniDUB.cs b/src/Jackett.Common/Indexers/AniDUB.cs index ae50eb610..fe6615363 100644 --- a/src/Jackett.Common/Indexers/AniDUB.cs +++ b/src/Jackett.Common/Indexers/AniDUB.cs @@ -119,7 +119,7 @@ namespace Jackett.Common.Indexers ); var parser = new HtmlParser(); - var document = await parser.ParseDocumentAsync(result.Content); + var document = await parser.ParseDocumentAsync(result.ContentString); await ConfigureIfOK(result.Cookies, IsAuthorized(result), () => { @@ -163,7 +163,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = await parser.ParseDocumentAsync(result.Content); + var document = await parser.ParseDocumentAsync(result.ContentString); foreach (var linkNode in document.QuerySelectorAll(ReleaseLinksSelector)) { @@ -173,7 +173,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; @@ -200,7 +200,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = await parser.ParseDocumentAsync(result.Content); + var document = await parser.ParseDocumentAsync(result.ContentString); var content = document.GetElementById(ContentId); var date = GetDateFromShowPage(url, content); @@ -247,7 +247,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; @@ -510,7 +510,7 @@ namespace Jackett.Common.Indexers } private bool IsAuthorized(WebClientStringResult result) => - result.Content.Contains("index.php?action=logout"); + result.ContentString.Contains("index.php?action=logout"); private IEnumerable ParseCategories(Uri showUri) { @@ -535,7 +535,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = await parser.ParseDocumentAsync(response.Content); + var document = await parser.ParseDocumentAsync(response.ContentString); foreach (var linkNode in document.QuerySelectorAll(searchLinkSelector)) { @@ -545,7 +545,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Anidex.cs b/src/Jackett.Common/Indexers/Anidex.cs index e33d9676e..c91f1a010 100644 --- a/src/Jackett.Common/Indexers/Anidex.cs +++ b/src/Jackett.Common/Indexers/Anidex.cs @@ -163,7 +163,7 @@ namespace Jackett.Common.Indexers throw new WebException($"Anidex search returned unexpected result. Expected 200 OK but got {response.Status}.", WebExceptionStatus.ProtocolError); // Search seems to have been a success so parse it - return ParseResult(response.Content); + return ParseResult(response.ContentString); } private IEnumerable ParseResult(string response) diff --git a/src/Jackett.Common/Indexers/AnimeBytes.cs b/src/Jackett.Common/Indexers/AnimeBytes.cs index 62eade8da..0859e81a5 100644 --- a/src/Jackett.Common/Indexers/AnimeBytes.cs +++ b/src/Jackett.Common/Indexers/AnimeBytes.cs @@ -180,9 +180,9 @@ namespace Jackett.Common.Indexers // Get the content from the tracker var response = await RequestStringWithCookiesAndRetry(queryUrl); - if (!response.Content.StartsWith("{")) // not JSON => error + if (!response.ContentString.StartsWith("{")) // not JSON => error throw new ExceptionWithConfigData("unexcepted response (not JSON)", configData); - dynamic json = JsonConvert.DeserializeObject(response.Content); + dynamic json = JsonConvert.DeserializeObject(response.ContentString); // Parse try @@ -418,7 +418,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } // Add to the cache diff --git a/src/Jackett.Common/Indexers/AnimeTorrents.cs b/src/Jackett.Common/Indexers/AnimeTorrents.cs index 4a3bf6e9e..97ad501e8 100644 --- a/src/Jackett.Common/Indexers/AnimeTorrents.cs +++ b/src/Jackett.Common/Indexers/AnimeTorrents.cs @@ -82,10 +82,10 @@ namespace Jackett.Common.Indexers var loginPage = await RequestStringWithCookiesAndRetry(LoginUrl, "", LoginUrl); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector(".ui-state-error").Text().Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -119,7 +119,7 @@ namespace Jackett.Common.Indexers var response = await RequestStringWithCookiesAndRetry(searchUrl, null, SearchUrlReferer, extraHeaders); - var results = response.Content; + var results = response.ContentString; try { var parser = new HtmlParser(); diff --git a/src/Jackett.Common/Indexers/Anthelion.cs b/src/Jackett.Common/Indexers/Anthelion.cs index 010d8a668..2145010cb 100644 --- a/src/Jackett.Common/Indexers/Anthelion.cs +++ b/src/Jackett.Common/Indexers/Anthelion.cs @@ -65,10 +65,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("form#loginform").TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -98,7 +98,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var doc = parser.ParseDocument(results.Content); + var doc = parser.ParseDocument(results.ContentString); var rows = doc.QuerySelectorAll("table.torrent_table > tbody > tr.torrent"); foreach (var row in rows) { @@ -164,7 +164,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/AwesomeHD.cs b/src/Jackett.Common/Indexers/AwesomeHD.cs index 53241b607..8b06914d3 100644 --- a/src/Jackett.Common/Indexers/AwesomeHD.cs +++ b/src/Jackett.Common/Indexers/AwesomeHD.cs @@ -101,12 +101,12 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + "?" + qc.GetQueryString(); var results = await RequestStringWithCookies(searchUrl); - if (string.IsNullOrWhiteSpace(results.Content)) + if (string.IsNullOrWhiteSpace(results.ContentString)) throw new Exception("Empty response. Please, check the Passkey."); try { - var doc = XDocument.Parse(results.Content); + var doc = XDocument.Parse(results.ContentString); var errorMsg = doc.Descendants("error").FirstOrDefault()?.Value; if (errorMsg?.Contains("No Results") == true) @@ -208,7 +208,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/BB.cs b/src/Jackett.Common/Indexers/BB.cs index 8733ccb18..4237f772e 100644 --- a/src/Jackett.Common/Indexers/BB.cs +++ b/src/Jackett.Common/Indexers/BB.cs @@ -80,10 +80,10 @@ namespace Jackett.Common.Indexers }; var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, SiteLink); - await ConfigureIfOK(response.Cookies, response.Content != null && response.Content.Contains("logout.php"), () => + await ConfigureIfOK(response.Cookies, response.ContentString != null && response.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var messageEl = dom.QuerySelectorAll("#loginform"); var messages = new List(); for (var i = 0; i < 13; i++) @@ -144,7 +144,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("#torrent_table > tbody > tr.torrent"); foreach (var row in rows) { @@ -198,7 +198,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } } return releases; diff --git a/src/Jackett.Common/Indexers/BJShare.cs b/src/Jackett.Common/Indexers/BJShare.cs index 961c2ce53..c0204b071 100644 --- a/src/Jackett.Common/Indexers/BJShare.cs +++ b/src/Jackett.Common/Indexers/BJShare.cs @@ -114,9 +114,9 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("logout.php") == true, () => + result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { - var errorMessage = result.Content; + var errorMessage = result.ContentString; throw new ExceptionWithConfigData(errorMessage, ConfigData); }); return IndexerConfigurationStatus.RequiresTesting; @@ -269,7 +269,7 @@ namespace Jackett.Common.Indexers { const string rowsSelector = "table.torrent_table > tbody > tr:not(tr.colhead)"; var searchResultParser = new HtmlParser(); - var searchResultDocument = searchResultParser.ParseDocument(results.Content); + var searchResultDocument = searchResultParser.ParseDocument(results.ContentString); var rows = searchResultDocument.QuerySelectorAll(rowsSelector); ICollection groupCategory = null; string groupTitle = null; @@ -380,7 +380,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -401,7 +401,7 @@ namespace Jackett.Common.Indexers { const string rowsSelector = "table.torrent_table > tbody > tr:not(tr.colhead)"; var searchResultParser = new HtmlParser(); - var searchResultDocument = searchResultParser.ParseDocument(results.Content); + var searchResultDocument = searchResultParser.ParseDocument(results.ContentString); var rows = searchResultDocument.QuerySelectorAll(rowsSelector); foreach (var row in rows) try @@ -509,7 +509,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/BakaBT.cs b/src/Jackett.Common/Indexers/BakaBT.cs index 3a87ce1ee..e78128e3f 100644 --- a/src/Jackett.Common/Indexers/BakaBT.cs +++ b/src/Jackett.Common/Indexers/BakaBT.cs @@ -81,7 +81,7 @@ namespace Jackett.Common.Indexers }; var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginForm.Cookies, true, null, SiteLink); - var responseContent = response.Content; + var responseContent = response.ContentString; await ConfigureIfOK(response.Cookies, responseContent.Contains(LogoutStr), () => { var parser = new HtmlParser(); @@ -107,7 +107,7 @@ namespace Jackett.Common.Indexers var searchString = queryCopy.SanitizedSearchTerm; var episodeSearchUrl = SearchUrl + WebUtility.UrlEncode(searchString); var response = await RequestStringWithCookiesAndRetry(episodeSearchUrl); - if (!response.Content.Contains(LogoutStr)) + if (!response.ContentString.Contains(LogoutStr)) { //Cookie appears to expire after a period of time or logging in to the site via browser await DoLogin(); @@ -117,7 +117,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll(".torrents tr.torrent, .torrents tr.torrent_alt"); ICollection currentCategories = new List {TorznabCatType.TVAnime.ID}; @@ -207,7 +207,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; @@ -248,7 +248,7 @@ namespace Jackett.Common.Indexers { var downloadPage = await RequestStringWithCookies(link.ToString()); var parser = new HtmlParser(); - var dom = parser.ParseDocument(downloadPage.Content); + var dom = parser.ParseDocument(downloadPage.ContentString); var downloadLink = dom.QuerySelectorAll(".download_link").First().GetAttribute("href"); if (string.IsNullOrWhiteSpace(downloadLink)) diff --git a/src/Jackett.Common/Indexers/BaseIndexer.cs b/src/Jackett.Common/Indexers/BaseIndexer.cs index e1c5c73ad..1cef37c62 100644 --- a/src/Jackett.Common/Indexers/BaseIndexer.cs +++ b/src/Jackett.Common/Indexers/BaseIndexer.cs @@ -578,7 +578,7 @@ namespace Jackett.Common.Indexers throw new Exception("Request to " + response.Request.Url + " failed (Error " + response.Status + ") - The tracker seems to be down."); } - if (response.Status == System.Net.HttpStatusCode.Forbidden && response.Content.Contains("Please complete the security check to access")) + if (response.Status == System.Net.HttpStatusCode.Forbidden && response.ContentString.Contains("Please complete the security check to access")) { throw new Exception("Request to " + response.Request.Url + " failed (Error " + response.Status + ") - The page is protected by an Cloudflare reCaptcha. The page is in aggressive DDoS mitigation mode or your IP might be blacklisted (e.g. in case of shared VPN IPs). There's no easy way of making it usable with Jackett."); } diff --git a/src/Jackett.Common/Indexers/BitCityReloaded.cs b/src/Jackett.Common/Indexers/BitCityReloaded.cs index 078452974..6dad73997 100644 --- a/src/Jackett.Common/Indexers/BitCityReloaded.cs +++ b/src/Jackett.Common/Indexers/BitCityReloaded.cs @@ -97,10 +97,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("#login_error").Text().Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -130,7 +130,7 @@ namespace Jackett.Common.Indexers searchUrl += "?" + queryCollection.GetQueryString(); var response = await RequestStringWithCookiesAndRetry(searchUrl, null, BrowseUrl); - var results = response.Content; + var results = response.ContentString; try { var parser = new HtmlParser(); diff --git a/src/Jackett.Common/Indexers/BitHDTV.cs b/src/Jackett.Common/Indexers/BitHDTV.cs index 6ef7278bc..93afb4207 100644 --- a/src/Jackett.Common/Indexers/BitHDTV.cs +++ b/src/Jackett.Common/Indexers/BitHDTV.cs @@ -67,7 +67,7 @@ namespace Jackett.Common.Indexers if (loginPage.IsRedirect) return result; // already logged in var parser = new HtmlParser(); - var cq = parser.ParseDocument(loginPage.Content); + var cq = parser.ParseDocument(loginPage.ContentString); var recaptchaSiteKey = cq.QuerySelector(".g-recaptcha")?.GetAttribute("data-sitekey"); result.CookieHeader.Value = loginPage.Cookies; result.Captcha.SiteKey = recaptchaSiteKey; @@ -105,10 +105,10 @@ namespace Jackett.Common.Indexers } var response = await RequestLoginAndFollowRedirect(TakeLoginUrl, pairs, null, true, referer: SiteLink); - await ConfigureIfOK(response.Cookies, response.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(response.Cookies, response.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var errorMessage = dom.QuerySelector("table.detail td.text").FirstChild.TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -147,7 +147,7 @@ namespace Jackett.Common.Indexers foreach (var result in results) try { - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); foreach (var child in dom.QuerySelectorAll("#needseed")) child.Remove(); var table = dom.QuerySelector("table[align=center] + br + table > tbody"); @@ -206,7 +206,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/BroadcasTheNet.cs b/src/Jackett.Common/Indexers/BroadcasTheNet.cs index 1111790eb..982d3068a 100644 --- a/src/Jackett.Common/Indexers/BroadcasTheNet.cs +++ b/src/Jackett.Common/Indexers/BroadcasTheNet.cs @@ -118,7 +118,7 @@ namespace Jackett.Common.Indexers try { - var btnResponse = JsonConvert.DeserializeObject(response.Content); + var btnResponse = JsonConvert.DeserializeObject(response.ContentString); if (btnResponse?.Result?.Torrents != null) { @@ -177,7 +177,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/CardigannIndexer.cs b/src/Jackett.Common/Indexers/CardigannIndexer.cs index efcefdd8d..f1e2aac91 100644 --- a/src/Jackett.Common/Indexers/CardigannIndexer.cs +++ b/src/Jackett.Common/Indexers/CardigannIndexer.cs @@ -464,7 +464,7 @@ namespace Jackett.Common.Indexers return true; // no error var ResultParser = new HtmlParser(); - var ResultDocument = ResultParser.ParseDocument(loginResult.Content); + var ResultDocument = ResultParser.ParseDocument(loginResult.ContentString); foreach (var error in errorBlocks) { var selection = ResultDocument.QuerySelector(error.Selector); @@ -540,11 +540,11 @@ namespace Jackett.Common.Indexers // request real login page again landingResult = await RequestStringWithCookies(LoginUrl, null, SiteLink); var htmlParser = new HtmlParser(); - landingResultDocument = htmlParser.ParseDocument(landingResult.Content); + landingResultDocument = htmlParser.ParseDocument(landingResult.ContentString); } else { - throw new ExceptionWithConfigData(string.Format("Login failed: Cloudflare clearance failed using cookies {0}: {1}", CookieHeader, ClearanceResult.Content), configData); + throw new ExceptionWithConfigData(string.Format("Login failed: Cloudflare clearance failed using cookies {0}: {1}", CookieHeader, ClearanceResult.ContentString), configData); } } else @@ -655,7 +655,7 @@ namespace Jackett.Common.Indexers { var captchaUrl = resolvePath("simpleCaptcha.php?numImages=1"); var simpleCaptchaResult = await RequestStringWithCookies(captchaUrl.ToString(), null, LoginUrl); - var simpleCaptchaJSON = JObject.Parse(simpleCaptchaResult.Content); + var simpleCaptchaJSON = JObject.Parse(simpleCaptchaResult.ContentString); var captchaSelection = simpleCaptchaJSON["images"][0]["hash"].ToString(); pairs["captchaSelection"] = captchaSelection; pairs["submitme"] = "X"; @@ -818,7 +818,7 @@ namespace Jackett.Common.Indexers if (Login.Test.Selector != null) { var testResultParser = new HtmlParser(); - var testResultDocument = testResultParser.ParseDocument(testResult.Content); + var testResultDocument = testResultParser.ParseDocument(testResult.ContentString); var selection = testResultDocument.QuerySelectorAll(Login.Test.Selector); if (selection.Length == 0) { @@ -891,7 +891,7 @@ namespace Jackett.Common.Indexers landingResult = await RequestStringWithCookies(LoginUrl.AbsoluteUri, null, SiteLink); var htmlParser = new HtmlParser(); - landingResultDocument = htmlParser.ParseDocument(landingResult.Content); + landingResultDocument = htmlParser.ParseDocument(landingResult.ContentString); var hasCaptcha = false; @@ -1353,7 +1353,7 @@ namespace Jackett.Common.Indexers if (response.IsRedirect && SearchPath.Followredirect) await FollowIfRedirect(response); - var results = response.Content; + var results = response.ContentString; try @@ -1378,7 +1378,7 @@ namespace Jackett.Common.Indexers if (response.IsRedirect && SearchPath.Followredirect) await FollowIfRedirect(response); - results = response.Content; + results = response.ContentString; SearchResultDocument = SearchResultParser.ParseDocument(results); } @@ -1801,7 +1801,7 @@ namespace Jackett.Common.Indexers var response = await RequestStringWithCookies(link.ToString()); if (response.IsRedirect) response = await RequestStringWithCookies(response.RedirectingTo); - var results = response.Content; + var results = response.ContentString; var searchResultParser = new HtmlParser(); var searchResultDocument = searchResultParser.ParseDocument(results); var downloadElement = searchResultDocument.QuerySelector(selector); diff --git a/src/Jackett.Common/Indexers/Cinecalidad.cs b/src/Jackett.Common/Indexers/Cinecalidad.cs index fbe769bfc..ffac06989 100644 --- a/src/Jackett.Common/Indexers/Cinecalidad.cs +++ b/src/Jackett.Common/Indexers/Cinecalidad.cs @@ -125,18 +125,18 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var preotectedLink = dom.QuerySelector("a[service=BitTorrent]").GetAttribute("href"); preotectedLink = SiteLink + preotectedLink.TrimStart('/'); results = await RequestStringWithCookies(preotectedLink); - dom = parser.ParseDocument(results.Content); + dom = parser.ParseDocument(results.ContentString); var magnetUrl = dom.QuerySelector("a[href^=magnet]").GetAttribute("href"); return await base.Download(new Uri(magnetUrl)); } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return null; @@ -149,7 +149,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("div.home_post_cont"); foreach (var row in rows) @@ -189,7 +189,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/CorsaroRed.cs b/src/Jackett.Common/Indexers/CorsaroRed.cs index 59563a24e..3cfc9895c 100644 --- a/src/Jackett.Common/Indexers/CorsaroRed.cs +++ b/src/Jackett.Common/Indexers/CorsaroRed.cs @@ -111,7 +111,7 @@ namespace Jackett.Common.Indexers { try { - var json = JsonConvert.DeserializeObject(result.Content); + var json = JsonConvert.DeserializeObject(result.ContentString); switch (json) { @@ -124,7 +124,7 @@ namespace Jackett.Common.Indexers catch (Exception e) { logger.Error("checkResponse() Error: ", e.Message); - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); } } diff --git a/src/Jackett.Common/Indexers/DigitalCore.cs b/src/Jackett.Common/Indexers/DigitalCore.cs index b175f9d3d..27b327e08 100644 --- a/src/Jackett.Common/Indexers/DigitalCore.cs +++ b/src/Jackett.Common/Indexers/DigitalCore.cs @@ -141,7 +141,7 @@ namespace Jackett.Common.Indexers try { //var json = JArray.Parse(results.Content); - dynamic json = JsonConvert.DeserializeObject(results.Content); + dynamic json = JsonConvert.DeserializeObject(results.ContentString); foreach (var row in json ?? System.Linq.Enumerable.Empty()) { var release = new ReleaseInfo(); @@ -215,7 +215,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/DigitalHive.cs b/src/Jackett.Common/Indexers/DigitalHive.cs index 1825b06e3..e1c9d67da 100644 --- a/src/Jackett.Common/Indexers/DigitalHive.cs +++ b/src/Jackett.Common/Indexers/DigitalHive.cs @@ -95,7 +95,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(LoginUrl, configData.CookieHeader.Value); var parser = new HtmlParser(); - var cq = parser.ParseDocument(loginPage.Content); + var cq = parser.ParseDocument(loginPage.ContentString); var recaptchaSiteKey = cq.QuerySelector(".g-recaptcha")?.GetAttribute("data-sitekey"); if (recaptchaSiteKey != null) { @@ -151,10 +151,10 @@ namespace Jackett.Common.Indexers var result = await RequestLoginAndFollowRedirect(AjaxLoginUrl, pairs, configData.CookieHeader.Value, true, SiteLink, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var errorMessage = parser.ParseDocument(result.Content); + var errorMessage = parser.ParseDocument(result.ContentString); throw new ExceptionWithConfigData(errorMessage.Text(), configData); }); @@ -190,11 +190,11 @@ namespace Jackett.Common.Indexers } try { - releases.AddRange(contentToReleaseInfos(query, results.Content)); + releases.AddRange(contentToReleaseInfos(query, results.ContentString)); } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/DivxTotal.cs b/src/Jackett.Common/Indexers/DivxTotal.cs index 940b9e344..ba92496a9 100644 --- a/src/Jackett.Common/Indexers/DivxTotal.cs +++ b/src/Jackett.Common/Indexers/DivxTotal.cs @@ -103,12 +103,12 @@ namespace Jackett.Common.Indexers var result = await RequestStringWithCookies(url); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); try { var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); var table = doc.QuerySelector("table.table"); if (table == null) @@ -136,7 +136,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } page++; // update page number @@ -156,10 +156,10 @@ namespace Jackett.Common.Indexers var result = await RequestStringWithCookies(downloadUrl); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); downloadUrl = GetDownloadLink(doc); } var content = await base.Download(new Uri(downloadUrl)); @@ -208,10 +208,10 @@ namespace Jackett.Common.Indexers var result = await RequestStringWithCookies(commentsLink); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); var tables = doc.QuerySelectorAll("table.table"); foreach (var table in tables) diff --git a/src/Jackett.Common/Indexers/EliteTracker.cs b/src/Jackett.Common/Indexers/EliteTracker.cs index b3e77feb1..629748796 100644 --- a/src/Jackett.Common/Indexers/EliteTracker.cs +++ b/src/Jackett.Common/Indexers/EliteTracker.cs @@ -155,7 +155,7 @@ namespace Jackett.Common.Indexers await ConfigureIfOK(result.Cookies, result.Cookies != null, () => { - var errorMessage = result.Content; + var errorMessage = result.ContentString; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -187,7 +187,7 @@ namespace Jackett.Common.Indexers var lastDate = DateTime.Now; var parser = new HtmlParser(); - var doc = parser.ParseDocument(results.Content); + var doc = parser.ParseDocument(results.ContentString); var rows = doc.QuerySelectorAll("table[id='sortabletable'] > tbody > tr"); foreach (var row in rows.Skip(1)) @@ -281,7 +281,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/EpubLibre.cs b/src/Jackett.Common/Indexers/EpubLibre.cs index a27b6bb3b..df1a96dff 100644 --- a/src/Jackett.Common/Indexers/EpubLibre.cs +++ b/src/Jackett.Common/Indexers/EpubLibre.cs @@ -89,7 +89,7 @@ namespace Jackett.Common.Indexers try { - var json = JsonConvert.DeserializeObject(result.Content); + var json = JsonConvert.DeserializeObject(result.ContentString); var parser = new HtmlParser(); var doc = parser.ParseDocument((string)json["contenido"]); @@ -140,7 +140,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } } @@ -155,13 +155,13 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var doc = parser.ParseDocument(result.Content); + var doc = parser.ParseDocument(result.ContentString); var magnetLink = doc.QuerySelector("a[id=en_desc]").GetAttribute("href"); return Encoding.UTF8.GetBytes(magnetLink); } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return null; } diff --git a/src/Jackett.Common/Indexers/Feeds/BaseFeedIndexer.cs b/src/Jackett.Common/Indexers/Feeds/BaseFeedIndexer.cs index f744a1da0..89c1b224c 100644 --- a/src/Jackett.Common/Indexers/Feeds/BaseFeedIndexer.cs +++ b/src/Jackett.Common/Indexers/Feeds/BaseFeedIndexer.cs @@ -57,7 +57,7 @@ namespace Jackett.Common.Indexers.Feeds }; var result = await webclient.GetString(request); - var results = ParseFeedForResults(result.Content); + var results = ParseFeedForResults(result.ContentString); return results; } diff --git a/src/Jackett.Common/Indexers/FileList.cs b/src/Jackett.Common/Indexers/FileList.cs index 8cff5dd8c..75a110e41 100644 --- a/src/Jackett.Common/Indexers/FileList.cs +++ b/src/Jackett.Common/Indexers/FileList.cs @@ -189,7 +189,7 @@ namespace Jackett.Common.Indexers {"Authorization", "Basic " + auth} }; var response = await RequestStringWithCookies(searchUrl, headers: headers); - return response.Content; + return response.ContentString; } catch (Exception inner) { diff --git a/src/Jackett.Common/Indexers/FunFile.cs b/src/Jackett.Common/Indexers/FunFile.cs index eade6cf7e..04a20fdee 100644 --- a/src/Jackett.Common/Indexers/FunFile.cs +++ b/src/Jackett.Common/Indexers/FunFile.cs @@ -67,10 +67,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("td.mf_content").TextContent; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -108,7 +108,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("table[cellpadding=2] > tbody > tr:has(td.row3)"); foreach (var row in rows) { @@ -159,7 +159,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Fuzer.cs b/src/Jackett.Common/Indexers/Fuzer.cs index 5388b6aa8..cc01934aa 100644 --- a/src/Jackett.Common/Indexers/Fuzer.cs +++ b/src/Jackett.Common/Indexers/Fuzer.cs @@ -109,7 +109,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(LoginUrl, string.Empty); var parser = new HtmlParser(); - var cq = parser.ParseDocument(loginPage.Content); + var cq = parser.ParseDocument(loginPage.ContentString); var captcha = cq.QuerySelector(".g-recaptcha"); // invisible recaptcha if (captcha != null) { @@ -165,7 +165,7 @@ namespace Jackett.Common.Indexers {"cookieuser", "1"} }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("images/loading.gif") == true, + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("images/loading.gif") == true, () => throw new ExceptionWithConfigData("Couldn't login", configData)); Thread.Sleep(2); return IndexerConfigurationStatus.RequiresTesting; @@ -208,7 +208,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(data.Content); + var dom = parser.ParseDocument(data.ContentString); var rows = dom.QuerySelectorAll("tr.box_torrent"); foreach (var row in rows) { @@ -254,7 +254,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(data.Content, ex); + OnParseError(data.ContentString, ex); } return releases; @@ -278,7 +278,7 @@ namespace Jackett.Common.Indexers }; var results = await RequestStringWithCookies(site.ToString()); var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("#listtable > tbody > tr"); foreach (var row in rows.Skip(1)) { @@ -288,7 +288,7 @@ namespace Jackett.Common.Indexers var address = link.GetAttribute("href"); if (string.IsNullOrEmpty(address)) continue; - var realDom = parser.ParseDocument(results.Content); + var realDom = parser.ParseDocument(results.ContentString); return realDom.QuerySelector("#content:nth-child(1) > h1").TextContent; } } diff --git a/src/Jackett.Common/Indexers/GazelleGames.cs b/src/Jackett.Common/Indexers/GazelleGames.cs index 789291ab8..b683a47e8 100644 --- a/src/Jackett.Common/Indexers/GazelleGames.cs +++ b/src/Jackett.Common/Indexers/GazelleGames.cs @@ -236,7 +236,7 @@ namespace Jackett.Common.Indexers var RowsSelector = ".torrent_table > tbody > tr"; var SearchResultParser = new HtmlParser(); - var SearchResultDocument = SearchResultParser.ParseDocument(results.Content); + var SearchResultDocument = SearchResultParser.ParseDocument(results.ContentString); var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); var stickyGroup = false; @@ -321,7 +321,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/GimmePeers.cs b/src/Jackett.Common/Indexers/GimmePeers.cs index 6c11a9f70..415aa424b 100644 --- a/src/Jackett.Common/Indexers/GimmePeers.cs +++ b/src/Jackett.Common/Indexers/GimmePeers.cs @@ -91,10 +91,10 @@ namespace Jackett.Common.Indexers var loginPage = await RequestStringWithCookies(SiteLink, string.Empty); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, SiteLink, SiteLink); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var messageEl = dom.QuerySelector("body > div"); var errorMessage = messageEl.TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); @@ -131,7 +131,7 @@ namespace Jackett.Common.Indexers response = await RequestStringWithCookiesAndRetry(searchUrl, null, BrowseUrl); } - var results = response.Content; + var results = response.ContentString; try { var parser = new HtmlParser(); diff --git a/src/Jackett.Common/Indexers/HDBitsApi.cs b/src/Jackett.Common/Indexers/HDBitsApi.cs index 73472f69b..478f4bd6e 100644 --- a/src/Jackett.Common/Indexers/HDBitsApi.cs +++ b/src/Jackett.Common/Indexers/HDBitsApi.cs @@ -187,11 +187,11 @@ namespace Jackett.Common.Indexers try { - json = JObject.Parse(response.Content); + json = JObject.Parse(response.ContentString); } catch (Exception ex) { - throw new Exception("Error while parsing json: " + response.Content, ex); + throw new Exception("Error while parsing json: " + response.ContentString, ex); } if ((int)json["status"] != 0) diff --git a/src/Jackett.Common/Indexers/HDSpace.cs b/src/Jackett.Common/Indexers/HDSpace.cs index 6326fa7a2..4cb97ed81 100644 --- a/src/Jackett.Common/Indexers/HDSpace.cs +++ b/src/Jackett.Common/Indexers/HDSpace.cs @@ -87,11 +87,11 @@ namespace Jackett.Common.Indexers // Send Post var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, referer: LoginUrl); - await ConfigureIfOK(response.Cookies, response.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(response.Cookies, response.ContentString?.Contains("logout.php") == true, () => { var errorStr = "You have {0} remaining login attempts"; var remainingAttemptSpan = new Regex(string.Format(errorStr, "(.*?)")) - .Match(loginPage.Content).Groups[1].ToString(); + .Match(loginPage.ContentString).Groups[1].ToString(); var attempts = Regex.Replace(remainingAttemptSpan, "<.*?>", string.Empty); var errorMessage = string.Format(errorStr, attempts); throw new ExceptionWithConfigData(errorMessage, configData); @@ -124,7 +124,7 @@ namespace Jackett.Common.Indexers try { var resultParser = new HtmlParser(); - var searchResultDocument = resultParser.ParseDocument(response.Content); + var searchResultDocument = resultParser.ParseDocument(response.ContentString); var rows = searchResultDocument.QuerySelectorAll("table.lista > tbody > tr"); foreach (var row in rows) @@ -177,7 +177,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/HDTorrents.cs b/src/Jackett.Common/Indexers/HDTorrents.cs index 92d7f1ecb..705a47a42 100644 --- a/src/Jackett.Common/Indexers/HDTorrents.cs +++ b/src/Jackett.Common/Indexers/HDTorrents.cs @@ -114,7 +114,7 @@ namespace Jackett.Common.Indexers var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, null, LoginUrl); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("If your browser doesn't have javascript enabled") == true, + result.Cookies, result.ContentString?.Contains("If your browser doesn't have javascript enabled") == true, () => throw new ExceptionWithConfigData("Couldn't login", configData)); return IndexerConfigurationStatus.RequiresTesting; } @@ -138,7 +138,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var userInfo = dom.QuerySelector("table.navus tr"); var userRank = userInfo.Children[1].TextContent.Replace("Rank:", string.Empty).Trim(); @@ -234,7 +234,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Hebits.cs b/src/Jackett.Common/Indexers/Hebits.cs index 132c5304c..cea44ac72 100644 --- a/src/Jackett.Common/Indexers/Hebits.cs +++ b/src/Jackett.Common/Indexers/Hebits.cs @@ -84,10 +84,10 @@ namespace Jackett.Common.Indexers CookieHeader = string.Empty; var result = await RequestLoginAndFollowRedirect(LoginPostUrl, pairs, CookieHeader, true, null, SiteLink); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("OK") == true, () => + result.Cookies, result.ContentString?.Contains("OK") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.TextContent.Trim(); errorMessage += " attempts left. Please check your credentials."; throw new ExceptionWithConfigData(errorMessage, configData); @@ -109,7 +109,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll(".browse > div > div"); foreach (var row in rows) { @@ -150,7 +150,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/HorribleSubs.cs b/src/Jackett.Common/Indexers/HorribleSubs.cs index b6cfc17fb..89815d95c 100644 --- a/src/Jackett.Common/Indexers/HorribleSubs.cs +++ b/src/Jackett.Common/Indexers/HorribleSubs.cs @@ -76,11 +76,11 @@ namespace Jackett.Common.Indexers try { - if (response.Content.Contains("Nothing was found")) + if (response.ContentString.Contains("Nothing was found")) return releases; var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var resultLinks = dom.QuerySelectorAll("ul > li > a"); var uniqueShowLinks = new HashSet(); foreach (var resultLink in resultLinks) @@ -97,7 +97,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; @@ -116,11 +116,11 @@ namespace Jackett.Common.Indexers try { - if (response.Content.Contains("Nothing was found")) + if (response.ContentString.Contains("Nothing was found")) return releases; var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var latestresults = dom.QuerySelectorAll("ul > li > a"); foreach (var resultLink in latestresults) { @@ -135,7 +135,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; @@ -151,7 +151,7 @@ namespace Jackett.Common.Indexers try { - var match = Regex.Match(response.Content, "(var hs_showid = )([0-9]*)(;)", RegexOptions.IgnoreCase); + var match = Regex.Match(response.ContentString, "(var hs_showid = )([0-9]*)(;)", RegexOptions.IgnoreCase); if (match.Success == false) return releases; @@ -169,7 +169,7 @@ namespace Jackett.Common.Indexers while (true) { var showApiResponse = await RequestStringWithCookiesAndRetry(apiUrl + "&nextid=" + nextId); - var showApiDom = parser.ParseDocument(showApiResponse.Content); + var showApiDom = parser.ParseDocument(showApiResponse.ContentString); var releaseRowResults = showApiDom.QuerySelectorAll("div.rls-info-container"); rows.AddRange(releaseRowResults); nextId++; @@ -215,7 +215,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/IPTorrents.cs b/src/Jackett.Common/Indexers/IPTorrents.cs index 0c07b6a16..5c71c3be4 100644 --- a/src/Jackett.Common/Indexers/IPTorrents.cs +++ b/src/Jackett.Common/Indexers/IPTorrents.cs @@ -180,7 +180,7 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + "?" + qc.GetQueryString(); var response = await RequestStringWithCookiesAndRetry(searchUrl, null, SearchUrl); - var results = response.Content; + var results = response.ContentString; if (results == null || !results.Contains("/lout.php")) throw new Exception("The user is not logged in. It is possible that the cookie has expired or you made a mistake when copying it. Please check the settings."); diff --git a/src/Jackett.Common/Indexers/ImmortalSeed.cs b/src/Jackett.Common/Indexers/ImmortalSeed.cs index 5629cfa4e..819b6d495 100644 --- a/src/Jackett.Common/Indexers/ImmortalSeed.cs +++ b/src/Jackett.Common/Indexers/ImmortalSeed.cs @@ -104,9 +104,9 @@ namespace Jackett.Common.Indexers var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(response.Cookies, response.Content.Contains("You have successfully logged in"), () => + await ConfigureIfOK(response.Cookies, response.ContentString.Contains("You have successfully logged in"), () => { - var errorMessage = response.Content; + var errorMessage = response.ContentString; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -124,7 +124,7 @@ namespace Jackett.Common.Indexers var results = await RequestStringWithCookiesAndRetry(searchUrl); // Occasionally the cookies become invalid, login again if that happens - if (results.Content.Contains("You do not have permission to access this page.")) + if (results.ContentString.Contains("You do not have permission to access this page.")) { await ApplyConfiguration(null); results = await RequestStringWithCookiesAndRetry(searchUrl); @@ -133,7 +133,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("#sortabletable tr:has(a[href*=\"details.php?id=\"])"); foreach (var row in rows) @@ -192,7 +192,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/InternetArchive.cs b/src/Jackett.Common/Indexers/InternetArchive.cs index 86676980d..4bfb5bb62 100644 --- a/src/Jackett.Common/Indexers/InternetArchive.cs +++ b/src/Jackett.Common/Indexers/InternetArchive.cs @@ -156,7 +156,7 @@ namespace Jackett.Common.Indexers { if (result.Status != HttpStatusCode.OK) throw new Exception("Response code error. HTTP code: " + result.Status); - var json = JsonConvert.DeserializeObject(result.Content); + var json = JsonConvert.DeserializeObject(result.ContentString); if (!(json is JObject) || !(json["response"] is JObject) || !(json["response"]["docs"] is JArray)) throw new Exception("Response format error"); return (JArray)json["response"]["docs"]; @@ -164,7 +164,7 @@ namespace Jackett.Common.Indexers catch (Exception e) { logger.Error("ParseResponse Error: ", e.Message); - throw new ExceptionWithConfigData(result.Content, ConfigData); + throw new ExceptionWithConfigData(result.ContentString, ConfigData); } } diff --git a/src/Jackett.Common/Indexers/Libble.cs b/src/Jackett.Common/Indexers/Libble.cs index e0ab83694..3aa7931dc 100644 --- a/src/Jackett.Common/Indexers/Libble.cs +++ b/src/Jackett.Common/Indexers/Libble.cs @@ -99,11 +99,11 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, SearchUrl, LandingUrl, true); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var warningNode = dom.QuerySelector("#loginform > .warning"); var errorMessage = warningNode?.TextContent.Trim().Replace("\n\t", " "); throw new ExceptionWithConfigData(errorMessage, configData); @@ -166,7 +166,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(searchPage.Content); + var dom = parser.ParseDocument(searchPage.ContentString); var albumRows = dom.QuerySelectorAll("table#torrent_table > tbody > tr:has(strong > a[href*=\"torrents.php?id=\"])"); foreach (var row in albumRows) { @@ -290,7 +290,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(searchPage.Content, ex); + OnParseError(searchPage.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/LostFilm.cs b/src/Jackett.Common/Indexers/LostFilm.cs index df532448b..705cc1c37 100644 --- a/src/Jackett.Common/Indexers/LostFilm.cs +++ b/src/Jackett.Common/Indexers/LostFilm.cs @@ -115,7 +115,7 @@ namespace Jackett.Common.Indexers // looks like after some failed login attempts there's a captcha var loginPage = await RequestStringWithCookies(LoginUrl, string.Empty); var parser = new HtmlParser(); - var document = parser.ParseDocument(loginPage.Content); + var document = parser.ParseDocument(loginPage.ContentString); var qCaptchaImg = document.QuerySelector("img#captcha_pictcha"); if (qCaptchaImg != null) { @@ -160,9 +160,9 @@ namespace Jackett.Common.Indexers } var result = await RequestLoginAndFollowRedirect(ApiUrl, data, CookieHeader, true, SiteLink, ApiUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("\"success\":true"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("\"success\":true"), () => { - var errorMessage = result.Content; + var errorMessage = result.ContentString; if (errorMessage.Contains("\"error\":2")) errorMessage = "Captcha is incorrect"; if (errorMessage.Contains("\"error\":3")) @@ -184,12 +184,12 @@ namespace Jackett.Common.Indexers }; var response = await PostDataWithCookies(url: ApiUrl, data: data); - logger.Debug("Logout result: " + response.Content); + logger.Debug("Logout result: " + response.ContentString); var isOK = response.Status == System.Net.HttpStatusCode.OK; if (!isOK) { - logger.Error("Logout failed with response: " + response.Content); + logger.Error("Logout failed with response: " + response.ContentString); } return isOK; @@ -215,11 +215,11 @@ namespace Jackett.Common.Indexers private async Task RequestStringAndRelogin(string url) { var results = await RequestStringWithCookies(url); - if (results.Content.Contains("503 Service")) + if (results.ContentString.Contains("503 Service")) { - throw new ExceptionWithConfigData(results.Content, configData); + throw new ExceptionWithConfigData(results.ContentString, configData); } - else if (results.Content.Contains("href=\"/login\"")) + else if (results.ContentString.Contains("href=\"/login\"")) { // Re-login await ApplyConfiguration(null); @@ -288,7 +288,7 @@ namespace Jackett.Common.Indexers }; logger.Debug("> Searching: " + searchString); var response = await PostDataWithCookies(url: ApiUrl, data: data); - if (response.Content == null) + if (response.ContentString == null) { logger.Debug("> Empty series response for query: " + searchString); continue; @@ -296,7 +296,7 @@ namespace Jackett.Common.Indexers try { - var json = JToken.Parse(response.Content); + var json = JToken.Parse(response.ContentString); if (json == null || json.Type == JTokenType.Array) { logger.Debug("> Invalid response for query: " + searchString); @@ -378,7 +378,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } } while (--searchKeywords > 0); @@ -399,7 +399,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = parser.ParseDocument(results.Content); + var document = parser.ParseDocument(results.ContentString); var rows = document.QuerySelectorAll("div.row"); foreach (var row in rows) @@ -413,7 +413,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -428,7 +428,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = parser.ParseDocument(results.Content); + var document = parser.ParseDocument(results.ContentString); var playButton = document.QuerySelector("div.external-btn"); if (playButton != null && !playButton.ClassList.Contains("inactive")) @@ -460,7 +460,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -476,7 +476,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = parser.ParseDocument(results.Content); + var document = parser.ParseDocument(results.ContentString); var seasons = document.QuerySelectorAll("div.serie-block"); var rowSelector = "table.movie-parts-list > tbody > tr"; @@ -604,7 +604,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -627,19 +627,19 @@ namespace Jackett.Common.Indexers // Get redirection page with generated link on it. This link can't be constructed manually as it contains Hash field and hashing algo is unknown. var results = await RequestStringWithCookies(url); - if (results.Content == null) + if (results.ContentString == null) { throw new ExceptionWithConfigData("Empty response from " + url, configData); } - if (results.Content == "log in first") + if (results.ContentString == "log in first") { - throw new ExceptionWithConfigData(results.Content, configData); + throw new ExceptionWithConfigData(results.ContentString, configData); } try { var parser = new HtmlParser(); - var document = parser.ParseDocument(results.Content); + var document = parser.ParseDocument(results.ContentString); var meta = document.QuerySelector("meta"); var metaContent = meta.GetAttribute("content"); @@ -649,7 +649,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } // Failure path @@ -665,7 +665,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = parser.ParseDocument(results.Content); + var document = parser.ParseDocument(results.ContentString); var rows = document.QuerySelectorAll("div.inner-box--item"); logger.Debug("> Parsing " + rows.Count().ToString() + " releases"); @@ -756,7 +756,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/MejorTorrent.cs b/src/Jackett.Common/Indexers/MejorTorrent.cs index cd5bc559d..2275e2504 100644 --- a/src/Jackett.Common/Indexers/MejorTorrent.cs +++ b/src/Jackett.Common/Indexers/MejorTorrent.cs @@ -103,15 +103,15 @@ namespace Jackett.Common.Indexers // Eg https://www.mejortorrentt.net/peli-descargar-torrent-11995-Harry-Potter-y-la-piedra-filosofal.html var result = await RequestStringWithCookies(downloadUrl); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); - var dom = parser.ParseDocument(result.Content); + throw new ExceptionWithConfigData(result.ContentString, configData); + var dom = parser.ParseDocument(result.ContentString); downloadUrl = SiteLink + dom.QuerySelector("a[href*=\"sec=descargas\"]").GetAttribute("href"); // Eg https://www.mejortorrentt.net/secciones.php?sec=descargas&ap=contar&tabla=peliculas&id=11995&link_bajar=1 result = await RequestStringWithCookies(downloadUrl); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); - dom = parser.ParseDocument(result.Content); + throw new ExceptionWithConfigData(result.ContentString, configData); + dom = parser.ParseDocument(result.ContentString); downloadUrl = SiteLink + dom.QuerySelector("a[href^=\"/tor/\"]").GetAttribute("href"); // Eg https://www.mejortorrentt.net/tor/peliculas/Harry_Potter_1_y_la_Piedra_Filosofal_MicroHD_1080p.torrent @@ -125,11 +125,11 @@ namespace Jackett.Common.Indexers var url = SiteLink + NewTorrentsUrl; var result = await RequestStringWithCookies(url); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); try { var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); var container = doc.QuerySelector("#main_table_center_center1 table div"); var parsedCommentsLink = new List(); @@ -167,7 +167,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; @@ -182,12 +182,12 @@ namespace Jackett.Common.Indexers var url = SiteLink + SearchUrl + "?" + qc.GetQueryString(); var result = await RequestStringWithCookies(url); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); try { var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); var table = doc.QuerySelector("#main_table_center_center2 table table"); // check the search term is valid @@ -214,7 +214,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; @@ -261,10 +261,10 @@ namespace Jackett.Common.Indexers { var result = await RequestStringWithCookies(commentsLink); if (result.Status != HttpStatusCode.OK) - throw new ExceptionWithConfigData(result.Content, configData); + throw new ExceptionWithConfigData(result.ContentString, configData); var searchResultParser = new HtmlParser(); - var doc = searchResultParser.ParseDocument(result.Content); + var doc = searchResultParser.ParseDocument(result.ContentString); var rows = doc.QuerySelectorAll("#main_table_center_center1 table table table tr"); foreach (var row in rows) diff --git a/src/Jackett.Common/Indexers/Milkie.cs b/src/Jackett.Common/Indexers/Milkie.cs index d60642aa3..385410fee 100644 --- a/src/Jackett.Common/Indexers/Milkie.cs +++ b/src/Jackett.Common/Indexers/Milkie.cs @@ -93,7 +93,7 @@ namespace Jackett.Common.Indexers try { - var response = JsonConvert.DeserializeObject(jsonResponse.Content); + var response = JsonConvert.DeserializeObject(jsonResponse.ContentString); var dlQueryParams = new NameValueCollection { @@ -129,7 +129,7 @@ namespace Jackett.Common.Indexers } catch(Exception ex) { - OnParseError(jsonResponse.Content, ex); + OnParseError(jsonResponse.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/MoreThanTV.cs b/src/Jackett.Common/Indexers/MoreThanTV.cs index d83e25fe8..57b681fcc 100644 --- a/src/Jackett.Common/Indexers/MoreThanTV.cs +++ b/src/Jackett.Common/Indexers/MoreThanTV.cs @@ -63,13 +63,13 @@ namespace Jackett.Common.Indexers var preRequest = await RequestStringWithCookiesAndRetry(LoginUrl, string.Empty); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, preRequest.Cookies, true, SearchUrl, SiteLink); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("status\":\"success\""), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("status\":\"success\""), () => { - if (result.Content.Contains("Your IP address has been banned.")) + if (result.ContentString.Contains("Your IP address has been banned.")) throw new ExceptionWithConfigData("Your IP address has been banned.", ConfigData); var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); foreach (var element in dom.QuerySelectorAll("#loginform > table")) element.Remove(); var errorMessage = dom.QuerySelector("#loginform").TextContent.Trim().Replace("\n\t", " "); @@ -145,7 +145,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var document = parser.ParseDocument(response.Content); + var document = parser.ParseDocument(response.ContentString); var groups = document.QuerySelectorAll(".torrent_table > tbody > tr.group"); var torrents = document.QuerySelectorAll(".torrent_table > tbody > tr.torrent"); @@ -243,7 +243,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } } diff --git a/src/Jackett.Common/Indexers/MyAmity.cs b/src/Jackett.Common/Indexers/MyAmity.cs index 1f2345804..5eb7d5a9a 100644 --- a/src/Jackett.Common/Indexers/MyAmity.cs +++ b/src/Jackett.Common/Indexers/MyAmity.cs @@ -79,10 +79,10 @@ namespace Jackett.Common.Indexers var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Cookies.Contains("pass=") && !result.Cookies.Contains("deleted"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.Cookies.Contains("pass=") && !result.Cookies.Contains("deleted"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("div.myFrame-content").InnerHtml; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -127,7 +127,7 @@ namespace Jackett.Common.Indexers response = await RequestStringWithCookies(searchUrl); } - var results = response.Content; + var results = response.ContentString; try { var parser = new HtmlParser(); diff --git a/src/Jackett.Common/Indexers/MyAnonamouse.cs b/src/Jackett.Common/Indexers/MyAnonamouse.cs index 5a6fd5833..8ef2f44a1 100644 --- a/src/Jackett.Common/Indexers/MyAnonamouse.cs +++ b/src/Jackett.Common/Indexers/MyAnonamouse.cs @@ -200,12 +200,12 @@ namespace Jackett.Common.Indexers urlSearch += $"?{qParams.GetQueryString()}"; var response = await RequestStringWithCookiesAndRetry(urlSearch); - if (response.Content.StartsWith("Error")) - throw new Exception(response.Content); + if (response.ContentString.StartsWith("Error")) + throw new Exception(response.ContentString); try { - var jsonContent = JObject.Parse(response.Content); + var jsonContent = JObject.Parse(response.ContentString); var sitelink = new Uri(SiteLink); var error = jsonContent.Value("error"); @@ -281,7 +281,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/NCore.cs b/src/Jackett.Common/Indexers/NCore.cs index fa24705c3..1417e11d3 100644 --- a/src/Jackett.Common/Indexers/NCore.cs +++ b/src/Jackett.Common/Indexers/NCore.cs @@ -113,10 +113,10 @@ namespace Jackett.Common.Indexers pairs.Add("2factor", configData.TwoFactor.Value); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, referer: SiteLink); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("profile.php") == true, () => + result.Cookies, result.ContentString?.Contains("profile.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var msgContainer = dom.QuerySelector("#hibauzenet table tbody tr")?.Children[1]; throw new ExceptionWithConfigData(msgContainer?.TextContent ?? "Error while trying to login.", configData); }); @@ -168,7 +168,7 @@ namespace Jackett.Common.Indexers pairs.Add("kivalasztott_tipus[]", string.Join(",", cats)); var results = await PostDataWithCookiesAndRetry(SearchUrl, pairs.ToEnumerable(true)); var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); // find number of torrents / page var torrentPerPage = dom.QuerySelectorAll(".box_torrent").Length; @@ -214,7 +214,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll(".box_torrent").Skip(previouslyParsedOnPage).Take(limit - alreadyFound); var key = ParseUtil.GetArgumentFromQueryString( @@ -333,7 +333,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Nebulance.cs b/src/Jackett.Common/Indexers/Nebulance.cs index ffc482600..9a643c681 100644 --- a/src/Jackett.Common/Indexers/Nebulance.cs +++ b/src/Jackett.Common/Indexers/Nebulance.cs @@ -60,12 +60,12 @@ namespace Jackett.Common.Indexers CookieHeader = string.Empty; var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl); - await ConfigureIfOK(response.Cookies, response.Content != null && response.Content.Contains("logout.php"), () => + await ConfigureIfOK(response.Cookies, response.ContentString != null && response.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var document = parser.ParseDocument(response.Content); + var document = parser.ParseDocument(response.ContentString); var messageEl = document.QuerySelector("form > span[class='warning']"); - var errorMessage = response.Content; + var errorMessage = response.ContentString; if (messageEl != null) errorMessage = messageEl.TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); @@ -75,14 +75,14 @@ namespace Jackett.Common.Indexers protected override async Task> PerformQuery(TorznabQuery query) { var loggedInCheck = await RequestStringWithCookies(SearchUrl); - if (!loggedInCheck.Content.Contains("logout.php")) // re-login + if (!loggedInCheck.ContentString.Contains("logout.php")) // re-login await DoLogin(); // #6413 var url = $"{SearchUrl}&searchtext={WebUtility.UrlEncode(query.GetQueryString())}"; var response = await RequestStringWithCookiesAndRetry(url); - var releases = ParseResponse(response.Content); + var releases = ParseResponse(response.ContentString); return releases; } diff --git a/src/Jackett.Common/Indexers/NewPCT.cs b/src/Jackett.Common/Indexers/NewPCT.cs index d17ea8216..d8c4d869e 100644 --- a/src/Jackett.Common/Indexers/NewPCT.cs +++ b/src/Jackett.Common/Indexers/NewPCT.cs @@ -165,7 +165,7 @@ namespace Jackett.Common.Indexers { var results = await RequestStringWithCookiesAndRetry(linkParam.AbsoluteUri); - var uriLink = ExtractDownloadUri(results.Content, linkParam.AbsoluteUri); + var uriLink = ExtractDownloadUri(results.ContentString, linkParam.AbsoluteUri); if (uriLink == null) throw new Exception("Download link not found!"); @@ -212,10 +212,10 @@ namespace Jackett.Common.Indexers { var pageUrl = SiteLink + string.Format(_dailyUrl, pg); var results = await RequestStringWithCookiesAndRetry(pageUrl); - if (results == null || string.IsNullOrEmpty(results.Content)) + if (results == null || string.IsNullOrEmpty(results.ContentString)) break; - var items = ParseDailyContent(results.Content); + var items = ParseDailyContent(results.ContentString); if (items == null || !items.Any()) break; @@ -305,13 +305,13 @@ namespace Jackett.Common.Indexers // Episodes list var results = await RequestStringWithCookiesAndRetry(uri.AbsoluteUri); - var seriesEpisodesUrl = ParseSeriesListContent(results.Content, seriesName); + var seriesEpisodesUrl = ParseSeriesListContent(results.ContentString, seriesName); // TV serie list if (!string.IsNullOrEmpty(seriesEpisodesUrl)) { results = await RequestStringWithCookiesAndRetry(seriesEpisodesUrl); - var items = ParseEpisodesListContent(results.Content); + var items = ParseEpisodesListContent(results.ContentString); if (items != null && items.Any()) releases.AddRange(items); } @@ -465,7 +465,7 @@ namespace Jackett.Common.Indexers }; var results = await PostDataWithCookies(searchJsonUrl, queryCollection); - var items = ParseSearchJsonContent(results.Content, year); + var items = ParseSearchJsonContent(results.ContentString, year); if (!items.Any()) break; diff --git a/src/Jackett.Common/Indexers/NewRealWorld.cs b/src/Jackett.Common/Indexers/NewRealWorld.cs index 12ef8edb6..ff8393815 100644 --- a/src/Jackett.Common/Indexers/NewRealWorld.cs +++ b/src/Jackett.Common/Indexers/NewRealWorld.cs @@ -111,10 +111,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("table.tableinborder").InnerHtml; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -161,7 +161,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("table.testtable> tbody > tr:has(td.tableb)"); foreach (var row in rows) @@ -219,7 +219,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/NorBits.cs b/src/Jackett.Common/Indexers/NorBits.cs index 9439d9839..12a362079 100644 --- a/src/Jackett.Common/Indexers/NorBits.cs +++ b/src/Jackett.Common/Indexers/NorBits.cs @@ -205,7 +205,7 @@ namespace Jackett.Common.Indexers // Checking ... Output("\n-> Checking logged-in state...."); var loggedInCheck = await RequestStringWithCookies(SearchUrl); - if (!loggedInCheck.Content.Contains("logout.php")) + if (!loggedInCheck.ContentString.Contains("logout.php")) { // Cookie expired, renew session on provider Output("-> Not logged, login now...\n"); @@ -263,7 +263,7 @@ namespace Jackett.Common.Indexers // Getting results & Store content var response = await RequestStringWithCookiesAndRetry(request, ConfigData.CookieHeader.Value); var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); try { diff --git a/src/Jackett.Common/Indexers/NordicBits.cs b/src/Jackett.Common/Indexers/NordicBits.cs index 867c0de96..e74f342cd 100644 --- a/src/Jackett.Common/Indexers/NordicBits.cs +++ b/src/Jackett.Common/Indexers/NordicBits.cs @@ -260,7 +260,7 @@ namespace Jackett.Common.Indexers // Checking ... Output("\n-> Checking logged-in state...."); var loggedInCheck = await RequestStringWithCookies(SearchUrl); - if (!loggedInCheck.Content.Contains("logout.php")) + if (!loggedInCheck.ContentString.Contains("logout.php")) { // Cookie expired, renew session on provider Output("-> Not logged, login now...\n"); @@ -318,7 +318,7 @@ namespace Jackett.Common.Indexers // Getting results & Store content var response = await RequestStringWithCookiesAndRetry(request, ConfigData.CookieHeader.Value); var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); try { diff --git a/src/Jackett.Common/Indexers/Partis.cs b/src/Jackett.Common/Indexers/Partis.cs index 7b9f41baf..77deed4c4 100644 --- a/src/Jackett.Common/Indexers/Partis.cs +++ b/src/Jackett.Common/Indexers/Partis.cs @@ -101,10 +101,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, string.Empty, false, null, null, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("/odjava"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("/odjava"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("div.obvet > span.najvecji").TextContent.Trim(); // Prijava ni uspela! obvestilo throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -145,7 +145,7 @@ namespace Jackett.Common.Indexers await FollowIfRedirect(results, null, null, null, true); // are we logged in? - if (!results.Content.Contains("/odjava")) + if (!results.ContentString.Contains("/odjava")) { await ApplyConfiguration(null); } @@ -159,7 +159,7 @@ namespace Jackett.Common.Indexers var RowsSelector = "div.list > div[name=\"torrrow\"]"; var ResultParser = new HtmlParser(); - var SearchResultDocument = ResultParser.ParseDocument(results.Content); + var SearchResultDocument = ResultParser.ParseDocument(results.ContentString); var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); foreach (var Row in Rows) { @@ -220,7 +220,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/PassThePopcorn.cs b/src/Jackett.Common/Indexers/PassThePopcorn.cs index 1c81669d9..9a68a48d1 100644 --- a/src/Jackett.Common/Indexers/PassThePopcorn.cs +++ b/src/Jackett.Common/Indexers/PassThePopcorn.cs @@ -121,7 +121,7 @@ namespace Jackett.Common.Indexers try { //Iterate over the releases for each movie - var jsResults = JObject.Parse(results.Content); + var jsResults = JObject.Parse(results.ContentString); foreach (var movie in jsResults["Movies"]) { var movieTitle = (string)movie["Title"]; @@ -248,7 +248,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/PirateTheNet.cs b/src/Jackett.Common/Indexers/PirateTheNet.cs index 36e05c825..fa54d834f 100644 --- a/src/Jackett.Common/Indexers/PirateTheNet.cs +++ b/src/Jackett.Common/Indexers/PirateTheNet.cs @@ -77,7 +77,7 @@ namespace Jackett.Common.Indexers CookieHeader = ""; // clear old cookies var result1 = await RequestStringWithCookies(CaptchaUrl); - var json1 = JObject.Parse(result1.Content); + var json1 = JObject.Parse(result1.ContentString); var captchaSelection = json1["images"][0]["hash"]; var pairs = new Dictionary { @@ -88,7 +88,7 @@ namespace Jackett.Common.Indexers var result2 = await RequestLoginAndFollowRedirect(LoginUrl, pairs, result1.Cookies, true, null, null, true); - await ConfigureIfOK(result2.Cookies, result2.Content.Contains("logout.php"), () => + await ConfigureIfOK(result2.Cookies, result2.ContentString.Contains("logout.php"), () => throw new ExceptionWithConfigData("Login Failed", configData)); return IndexerConfigurationStatus.RequiresTesting; } @@ -136,7 +136,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("table.main > tbody > tr"); foreach (var row in rows.Skip(1)) { @@ -197,7 +197,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/PixelHD.cs b/src/Jackett.Common/Indexers/PixelHD.cs index 9a70effd0..465e73c11 100644 --- a/src/Jackett.Common/Indexers/PixelHD.cs +++ b/src/Jackett.Common/Indexers/PixelHD.cs @@ -59,7 +59,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(LoginUrl, string.Empty); var LoginParser = new HtmlParser(); - var LoginDocument = LoginParser.ParseDocument(loginPage.Content); + var LoginDocument = LoginParser.ParseDocument(loginPage.ContentString); configData.CaptchaCookie.Value = loginPage.Cookies; @@ -103,10 +103,10 @@ namespace Jackett.Common.Indexers var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, configData.CaptchaCookie.Value, true); - await ConfigureIfOK(result.Cookies, result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString.Contains("logout.php"), () => { var LoginParser = new HtmlParser(); - var LoginDocument = LoginParser.ParseDocument(result.Content); + var LoginDocument = LoginParser.ParseDocument(result.ContentString); var errorMessage = LoginDocument.QuerySelector("span.warning[id!=\"no-cookies\"]:has(br)").TextContent; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -148,7 +148,7 @@ namespace Jackett.Common.Indexers var IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled); var hParser = new HtmlParser(); - var ResultDocument = hParser.ParseDocument(results.Content); + var ResultDocument = hParser.ParseDocument(results.ContentString); try { var Groups = ResultDocument.QuerySelectorAll("div.browsePoster"); @@ -207,7 +207,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/PolishTracker.cs b/src/Jackett.Common/Indexers/PolishTracker.cs index 09257d6fb..a035bdac1 100644 --- a/src/Jackett.Common/Indexers/PolishTracker.cs +++ b/src/Jackett.Common/Indexers/PolishTracker.cs @@ -75,7 +75,7 @@ namespace Jackett.Common.Indexers await ConfigureIfOK(result.Cookies, result.Cookies?.Contains("id=") == true, () => { - var errorMessage = result.Content; + var errorMessage = result.ContentString; if (errorMessage.Contains("Error!")) errorMessage = "E-mail or password is incorrect"; throw new ExceptionWithConfigData(errorMessage, configData); @@ -112,10 +112,10 @@ namespace Jackett.Common.Indexers result = await RequestStringWithCookiesAndRetry(searchUrl, null, SearchUrl); } - if (!result.Content.StartsWith("{")) // not JSON => error - throw new ExceptionWithConfigData(result.Content, configData); + if (!result.ContentString.StartsWith("{")) // not JSON => error + throw new ExceptionWithConfigData(result.ContentString, configData); - var json = JsonConvert.DeserializeObject(result.Content); + var json = JsonConvert.DeserializeObject(result.ContentString); try { var torrents = json["torrents"]; // latest torrents diff --git a/src/Jackett.Common/Indexers/PornoLab.cs b/src/Jackett.Common/Indexers/PornoLab.cs index 80a6cec14..f8fcbda63 100644 --- a/src/Jackett.Common/Indexers/PornoLab.cs +++ b/src/Jackett.Common/Indexers/PornoLab.cs @@ -185,7 +185,7 @@ namespace Jackett.Common.Indexers configData.CookieHeader.Value = null; var response = await RequestStringWithCookies(LoginUrl); var LoginResultParser = new HtmlParser(); - var LoginResultDocument = LoginResultParser.ParseDocument(response.Content); + var LoginResultDocument = LoginResultParser.ParseDocument(response.ContentString); var captchaimg = LoginResultDocument.QuerySelector("img[src*=\"/captcha/\"]"); if (captchaimg != null) { @@ -226,12 +226,12 @@ namespace Jackett.Common.Indexers } var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("Вы зашли как:"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("Вы зашли как:"), () => { - logger.Debug(result.Content); + logger.Debug(result.ContentString); var errorMessage = "Unknown error message, please report"; var LoginResultParser = new HtmlParser(); - var LoginResultDocument = LoginResultParser.ParseDocument(result.Content); + var LoginResultDocument = LoginResultParser.ParseDocument(result.ContentString); var errormsg = LoginResultDocument.QuerySelector("h4[class=\"warnColor1 tCenter mrg_16\"]"); if (errormsg != null) errorMessage = errormsg.TextContent; @@ -261,7 +261,7 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + "?" + queryCollection.GetQueryString(); var results = await RequestStringWithCookies(searchUrl); - if (!results.Content.Contains("Вы зашли как:")) + if (!results.ContentString.Contains("Вы зашли как:")) { // re login await ApplyConfiguration(null); @@ -272,7 +272,7 @@ namespace Jackett.Common.Indexers var RowsSelector = "table#tor-tbl > tbody > tr"; var SearchResultParser = new HtmlParser(); - var SearchResultDocument = SearchResultParser.ParseDocument(results.Content); + var SearchResultDocument = SearchResultParser.ParseDocument(results.ContentString); var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); foreach (var Row in Rows) { @@ -327,7 +327,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -338,7 +338,7 @@ namespace Jackett.Common.Indexers { var downloadlink = link; var response = await RequestStringWithCookies(link.ToString()); - var results = response.Content; + var results = response.ContentString; var SearchResultParser = new HtmlParser(); var SearchResultDocument = SearchResultParser.ParseDocument(results); var downloadSelector = "a[class=\"dl-stub dl-link\"]"; diff --git a/src/Jackett.Common/Indexers/PreToMe.cs b/src/Jackett.Common/Indexers/PreToMe.cs index 89902cba6..e2d793802 100644 --- a/src/Jackett.Common/Indexers/PreToMe.cs +++ b/src/Jackett.Common/Indexers/PreToMe.cs @@ -142,7 +142,7 @@ namespace Jackett.Common.Indexers var loginCookies = result.Cookies; await FollowIfRedirect(result, LoginUrl, null, loginCookies); - await ConfigureIfOK(loginCookies, result.Content?.Contains("logout.php") == true, + await ConfigureIfOK(loginCookies, result.ContentString?.Contains("logout.php") == true, () => throw new ExceptionWithConfigData("Login failed", configData)); return IndexerConfigurationStatus.RequiresTesting; @@ -211,7 +211,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("table > tbody > tr.browse"); foreach (var row in rows) { @@ -258,7 +258,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/RarBG.cs b/src/Jackett.Common/Indexers/RarBG.cs index f2f0b3c48..a9c7c3def 100644 --- a/src/Jackett.Common/Indexers/RarBG.cs +++ b/src/Jackett.Common/Indexers/RarBG.cs @@ -121,7 +121,7 @@ namespace Jackett.Common.Indexers await RenewalTokenAsync(); var response = await RequestStringWithCookiesAndRetry(BuildSearchUrl(query)); - var jsonContent = JObject.Parse(response.Content); + var jsonContent = JObject.Parse(response.ContentString); var errorCode = jsonContent.Value("error_code"); switch (errorCode) { @@ -131,7 +131,7 @@ namespace Jackett.Common.Indexers case 4: // invalid token await RenewalTokenAsync(true); // force renewal token response = await RequestStringWithCookiesAndRetry(BuildSearchUrl(query)); - jsonContent = JObject.Parse(response.Content); + jsonContent = JObject.Parse(response.ContentString); break; case 10: // imdb not found, see issue #1486 case 20: // no results found @@ -139,7 +139,7 @@ namespace Jackett.Common.Indexers // because we can't distinguish between search without results and api malfunction return retry ? await PerformQueryWithRetry(query, false) : releases; default: - throw new Exception("Unknown error code: " + errorCode + " response: " + response.Content); + throw new Exception("Unknown error code: " + errorCode + " response: " + response.ContentString); } try @@ -196,7 +196,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; @@ -264,7 +264,7 @@ namespace Jackett.Common.Indexers }; var tokenUrl = ApiEndpoint + "?" + qc.GetQueryString(); var result = await RequestStringWithCookiesAndRetry(tokenUrl); - var json = JObject.Parse(result.Content); + var json = JObject.Parse(result.ContentString); _token = json.Value("token"); _lastTokenFetch = DateTime.Now; } diff --git a/src/Jackett.Common/Indexers/RevolutionTT.cs b/src/Jackett.Common/Indexers/RevolutionTT.cs index 9123beb0a..ae51113fb 100644 --- a/src/Jackett.Common/Indexers/RevolutionTT.cs +++ b/src/Jackett.Common/Indexers/RevolutionTT.cs @@ -198,7 +198,7 @@ namespace Jackett.Common.Indexers var homePageLoad = await RequestLoginAndFollowRedirect(LandingPageURL, new Dictionary { }, null, true, null, SiteLink); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, homePageLoad.Cookies, true, null, LandingPageURL); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("/logout.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("/logout.php") == true, () => throw new ExceptionWithConfigData("Login failed! Check the username and password. If they are ok, try logging on the website.", configData)); // Store RSS key from feed generator page @@ -208,7 +208,7 @@ namespace Jackett.Common.Indexers { "feed", "dl" } }; var rssPage = await PostDataWithCookies(GetRSSKeyUrl, rssParams, result.Cookies); - var match = Regex.Match(rssPage.Content, "(?<=passkey\\=)([a-zA-z0-9]*)"); + var match = Regex.Match(rssPage.ContentString, "(?<=passkey\\=)([a-zA-z0-9]*)"); configData.RSSKey.Value = match.Success ? match.Value : string.Empty; if (string.IsNullOrWhiteSpace(configData.RSSKey.Value)) throw new Exception("Failed to get RSS Key"); @@ -233,7 +233,7 @@ namespace Jackett.Common.Indexers if (string.IsNullOrWhiteSpace(searchString)) { var rssPage = await RequestStringWithCookiesAndRetry(RSSUrl + configData.RSSKey.Value); - var rssDoc = XDocument.Parse(rssPage.Content); + var rssDoc = XDocument.Parse(rssPage.ContentString); foreach (var item in rssDoc.Descendants("item")) { @@ -316,7 +316,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("#torrents-table > tbody > tr"); foreach (var row in rows.Skip(1)) @@ -363,7 +363,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } } diff --git a/src/Jackett.Common/Indexers/RuTracker.cs b/src/Jackett.Common/Indexers/RuTracker.cs index f6645bcbf..cb7d26856 100644 --- a/src/Jackett.Common/Indexers/RuTracker.cs +++ b/src/Jackett.Common/Indexers/RuTracker.cs @@ -1512,7 +1512,7 @@ namespace Jackett.Common.Indexers configData.CookieHeader.Value = null; var response = await RequestStringWithCookies(LoginUrl); var parser = new HtmlParser(); - var doc = parser.ParseDocument(response.Content); + var doc = parser.ParseDocument(response.ContentString); var captchaimg = doc.QuerySelector("img[src^=\"https://static.t-ru.org/captcha/\"]"); if (captchaimg != null) { @@ -1557,12 +1557,12 @@ namespace Jackett.Common.Indexers } var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("id=\"logged-in-username\""), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("id=\"logged-in-username\""), () => { - logger.Debug(result.Content); + logger.Debug(result.ContentString); var errorMessage = "Unknown error message, please report"; var parser = new HtmlParser(); - var doc = parser.ParseDocument(result.Content); + var doc = parser.ParseDocument(result.ContentString); var errormsg = doc.QuerySelector("h4[class=\"warnColor1 tCenter mrg_16\"]"); if (errormsg != null) errorMessage = errormsg.TextContent; @@ -1592,7 +1592,7 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + "?" + queryCollection.GetQueryString(); var results = await RequestStringWithCookies(searchUrl); - if (!results.Content.Contains("id=\"logged-in-username\"")) + if (!results.ContentString.Contains("id=\"logged-in-username\"")) { // re login await ApplyConfiguration(null); @@ -1601,7 +1601,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var doc = parser.ParseDocument(results.Content); + var doc = parser.ParseDocument(results.ContentString); var rows = doc.QuerySelectorAll("table#tor-tbl > tbody > tr"); foreach (var row in rows) try @@ -1696,7 +1696,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/SceneHD.cs b/src/Jackett.Common/Indexers/SceneHD.cs index 080e44b6d..465d6fc6f 100644 --- a/src/Jackett.Common/Indexers/SceneHD.cs +++ b/src/Jackett.Common/Indexers/SceneHD.cs @@ -93,12 +93,12 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + qc.GetQueryString(); var response = await RequestStringWithCookiesAndRetry(searchUrl); - if (response.Content?.Contains("User not found or passkey not set") == true) + if (response.ContentString?.Contains("User not found or passkey not set") == true) throw new Exception("The passkey is invalid. Check the indexer configuration."); try { - var jsonContent = JArray.Parse(response.Content); + var jsonContent = JArray.Parse(response.ContentString); foreach (var item in jsonContent) { var title = item.Value("name"); @@ -136,7 +136,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/SceneTime.cs b/src/Jackett.Common/Indexers/SceneTime.cs index ee41e032f..7136d4723 100644 --- a/src/Jackett.Common/Indexers/SceneTime.cs +++ b/src/Jackett.Common/Indexers/SceneTime.cs @@ -116,7 +116,7 @@ namespace Jackett.Common.Indexers } var parser = new HtmlParser(); - var dom = parser.ParseDocument(loginPage.Content); + var dom = parser.ParseDocument(loginPage.ContentString); var recaptcha = dom.QuerySelector(".g-recaptcha"); if (recaptcha != null) { @@ -167,10 +167,10 @@ namespace Jackett.Common.Indexers } var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("logout.php"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout.php"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("td.text").TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -201,15 +201,15 @@ namespace Jackett.Common.Indexers var results = await RequestStringWithCookies(searchUrl); // response without results (the message is misleading) - if (results.Content?.Contains("slow down geek!!!") == true) + if (results.ContentString?.Contains("slow down geek!!!") == true) return new List(); // not logged in - if (results.Content == null || !results.Content.Contains("/logout.php")) + if (results.ContentString == null || !results.ContentString.Contains("/logout.php")) throw new Exception("The user is not logged in. It is possible that the cookie has expired or you " + "made a mistake when copying it. Please check the settings."); - return ParseResponse(query, results.Content); + return ParseResponse(query, results.ContentString); } private List ParseResponse(TorznabQuery query, string htmlResponse) diff --git a/src/Jackett.Common/Indexers/Shazbat.cs b/src/Jackett.Common/Indexers/Shazbat.cs index 02010b844..363b269a2 100644 --- a/src/Jackett.Common/Indexers/Shazbat.cs +++ b/src/Jackett.Common/Indexers/Shazbat.cs @@ -65,11 +65,11 @@ namespace Jackett.Common.Indexers // Get cookie var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("glyphicon-log-out") == true, + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("glyphicon-log-out") == true, () => throw new ExceptionWithConfigData("The username and password entered do not match.", configData)); var rssProfile = await RequestStringWithCookiesAndRetry(RSSProfile); var parser = new HtmlParser(); - var rssDom = parser.ParseDocument(rssProfile.Content); + var rssDom = parser.ParseDocument(rssProfile.ContentString); configData.RSSKey.Value = rssDom.QuerySelector(".col-sm-9:nth-of-type(1)").TextContent.Trim(); if (string.IsNullOrWhiteSpace(configData.RSSKey.Value)) throw new ExceptionWithConfigData("Failed to find RSS key.", configData); @@ -92,7 +92,7 @@ namespace Jackett.Common.Indexers results = await PostDataWithCookiesAndRetry(SearchUrl, pairs, null, TorrentsUrl); results = await ReloginIfNecessary(results); var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var shows = dom.QuerySelectorAll("div.show[data-id]"); foreach (var show in shows) { @@ -110,7 +110,7 @@ namespace Jackett.Common.Indexers results = await RequestStringWithCookies(searchUrl); results = await ReloginIfNecessary(results); var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll( string.IsNullOrWhiteSpace(queryString) ? "#torrent-table tr" : "table tr"); var globalFreeleech = @@ -161,7 +161,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } foreach (var release in releases) release.Category = release.Title.Contains("1080p") || release.Title.Contains("720p") @@ -172,7 +172,7 @@ namespace Jackett.Common.Indexers private async Task ReloginIfNecessary(WebClientStringResult response) { - if (response.Content.Contains("onclick=\"document.location='logout'\"")) + if (response.ContentString.Contains("onclick=\"document.location='logout'\"")) return response; await ApplyConfiguration(null); diff --git a/src/Jackett.Common/Indexers/ShowRSS.cs b/src/Jackett.Common/Indexers/ShowRSS.cs index d44421845..15fac9e92 100644 --- a/src/Jackett.Common/Indexers/ShowRSS.cs +++ b/src/Jackett.Common/Indexers/ShowRSS.cs @@ -65,7 +65,7 @@ namespace Jackett.Common.Indexers try { - xmlDoc.LoadXml(result.Content); + xmlDoc.LoadXml(result.ContentString); foreach (XmlNode node in xmlDoc.GetElementsByTagName("item")) { //TODO revisit for refactoring @@ -105,7 +105,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(result.Content, ex); + OnParseError(result.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/SolidTorrents.cs b/src/Jackett.Common/Indexers/SolidTorrents.cs index 1d466f592..e863d161b 100644 --- a/src/Jackett.Common/Indexers/SolidTorrents.cs +++ b/src/Jackett.Common/Indexers/SolidTorrents.cs @@ -80,7 +80,7 @@ namespace Jackett.Common.Indexers { try { - var json = JsonConvert.DeserializeObject(result.Content); + var json = JsonConvert.DeserializeObject(result.ContentString); if (!(json is JObject) || !(json["results"] is JArray) || json["results"] == null) throw new Exception("Server error"); return (JArray)json["results"]; @@ -88,7 +88,7 @@ namespace Jackett.Common.Indexers catch (Exception e) { logger.Error("CheckResponse() Error: ", e.Message); - throw new ExceptionWithConfigData(result.Content, ConfigData); + throw new ExceptionWithConfigData(result.ContentString, ConfigData); } } diff --git a/src/Jackett.Common/Indexers/SpeedCD.cs b/src/Jackett.Common/Indexers/SpeedCD.cs index b611b1c92..30fda5b9e 100644 --- a/src/Jackett.Common/Indexers/SpeedCD.cs +++ b/src/Jackett.Common/Indexers/SpeedCD.cs @@ -104,7 +104,7 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl1, pairs, null, true, null, SiteLink); var tokenRegex = new Regex(@"name=\\""a\\"" value=\\""([^""]+)\\"""); - var matches = tokenRegex.Match(result.Content); + var matches = tokenRegex.Match(result.ContentString); if (!matches.Success) throw new Exception("Error parsing the login form"); var token = matches.Groups[1].Value; @@ -116,12 +116,12 @@ namespace Jackett.Common.Indexers }; result = await RequestLoginAndFollowRedirect(LoginUrl2, pairs, result.Cookies, true, null, SiteLink); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("/browse.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("/browse.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("h5")?.TextContent; - if (result.Content.Contains("Wrong Captcha!")) + if (result.ContentString.Contains("Wrong Captcha!")) errorMessage = "Captcha required due to a failed login attempt. Login via a browser to whitelist your IP and then reconfigure Jackett."; throw new Exception(errorMessage); }); @@ -152,7 +152,7 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + string.Join("/", qc); var response = await RequestStringWithCookiesAndRetry(searchUrl); - if (!response.Content.Contains("/logout.php")) // re-login + if (!response.ContentString.Contains("/logout.php")) // re-login { await DoLogin(); response = await RequestStringWithCookiesAndRetry(searchUrl); @@ -161,7 +161,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("div.boxContent > table > tbody > tr"); foreach (var row in rows) @@ -205,7 +205,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/SuperBits.cs b/src/Jackett.Common/Indexers/SuperBits.cs index f8608e387..b329eb83a 100644 --- a/src/Jackett.Common/Indexers/SuperBits.cs +++ b/src/Jackett.Common/Indexers/SuperBits.cs @@ -133,7 +133,7 @@ namespace Jackett.Common.Indexers try { //var json = JArray.Parse(results.Content); - dynamic json = JsonConvert.DeserializeObject(results.Content); + dynamic json = JsonConvert.DeserializeObject(results.ContentString); foreach (var row in json ?? System.Linq.Enumerable.Empty()) { var release = new ReleaseInfo(); @@ -205,7 +205,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TVStore.cs b/src/Jackett.Common/Indexers/TVStore.cs index 7c301f28a..707c531e3 100644 --- a/src/Jackett.Common/Indexers/TVStore.cs +++ b/src/Jackett.Common/Indexers/TVStore.cs @@ -76,7 +76,7 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, referer: SiteLink); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("Főoldal") == true, + result.Cookies, result.ContentString?.Contains("Főoldal") == true, () => throw new ExceptionWithConfigData("Error while trying to login.", configData)); return IndexerConfigurationStatus.RequiresTesting; } @@ -137,7 +137,7 @@ namespace Jackett.Common.Indexers * First 3 items per page are total results, results per page, and results this page * There is also a tail of ~4 items after the results for some reason. Looks like \1\\\ */ - var parameters = results.Content.Split('\\'); + var parameters = results.ContentString.Split('\\'); var torrentsThisPage = int.Parse(parameters[2]); var maxTorrents = Math.Min(torrentsThisPage, limit - alreadyFound); var rows = parameters.Skip(3) //Skip pages info @@ -164,7 +164,7 @@ namespace Jackett.Common.Indexers queryParams["now"] = DateTimeUtil.DateTimeToUnixTimestamp(DateTime.UtcNow) .ToString(CultureInfo.InvariantCulture); var filesList = (await RequestStringWithCookiesAndRetry(SearchUrl + "?" + queryParams.GetQueryString())) - .Content; + .ContentString; var firstFileName = filesList.Split( new[] { @@ -203,7 +203,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -216,7 +216,7 @@ namespace Jackett.Common.Indexers private async Task PopulateImdbMapAsync() { var result = await RequestStringWithCookiesAndRetry(BrowseUrl); - foreach (Match match in _seriesInfoMatch.Matches(result.Content)) + foreach (Match match in _seriesInfoMatch.Matches(result.ContentString)) { var internalId = int.Parse(match.Groups["seriesID"].Value); var imdbId = long.Parse(match.Groups["ImdbId"].Value); @@ -282,7 +282,7 @@ namespace Jackett.Common.Indexers var results = await RequestStringWithCookiesAndRetry(SearchUrl + "?" + queryParams.GetQueryString()); // Parse page Information from result - var content = results.Content; + var content = results.ContentString; var splits = content.Split('\\'); var totalFound = int.Parse(splits[0]); var torrentPerPage = int.Parse(splits[1]); diff --git a/src/Jackett.Common/Indexers/TVVault.cs b/src/Jackett.Common/Indexers/TVVault.cs index 0a8e054b0..f390713d4 100644 --- a/src/Jackett.Common/Indexers/TVVault.cs +++ b/src/Jackett.Common/Indexers/TVVault.cs @@ -64,10 +64,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, () => + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("form#loginform").TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -100,7 +100,7 @@ namespace Jackett.Common.Indexers var seasonRegEx = new Regex(@$"Season\s+0*{query.Season}[^\d]", RegexOptions.IgnoreCase); var parser = new HtmlParser(); - var doc = parser.ParseDocument(results.Content); + var doc = parser.ParseDocument(results.ContentString); var rows = doc.QuerySelectorAll("table.torrent_table > tbody > tr.torrent"); foreach (var row in rows) { @@ -151,7 +151,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/Toloka.cs b/src/Jackett.Common/Indexers/Toloka.cs index d899dacb7..3c1a05ce4 100644 --- a/src/Jackett.Common/Indexers/Toloka.cs +++ b/src/Jackett.Common/Indexers/Toloka.cs @@ -194,12 +194,12 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("logout=true"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout=true"), () => { - logger.Debug(result.Content); + logger.Debug(result.ContentString); var errorMessage = "Unknown error message, please report"; var LoginResultParser = new HtmlParser(); - var LoginResultDocument = LoginResultParser.ParseDocument(result.Content); + var LoginResultDocument = LoginResultParser.ParseDocument(result.ContentString); var errormsg = LoginResultDocument.QuerySelector("h4[class=\"warnColor1 tCenter mrg_16\"]"); if (errormsg != null) errorMessage = errormsg.TextContent; @@ -233,7 +233,7 @@ namespace Jackett.Common.Indexers var searchUrl = SearchUrl + "?" + queryCollection.GetQueryString(); var results = await RequestStringWithCookies(searchUrl); - if (!results.Content.Contains("logout=true")) + if (!results.ContentString.Contains("logout=true")) { // re login await ApplyConfiguration(null); @@ -244,7 +244,7 @@ namespace Jackett.Common.Indexers var RowsSelector = "table.forumline > tbody > tr[class*=prow]"; var SearchResultParser = new HtmlParser(); - var SearchResultDocument = SearchResultParser.ParseDocument(results.Content); + var SearchResultDocument = SearchResultParser.ParseDocument(results.ContentString); var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); foreach (var Row in Rows) { @@ -313,7 +313,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TorrenTech.cs b/src/Jackett.Common/Indexers/TorrenTech.cs index 2535743a6..f78f48247 100644 --- a/src/Jackett.Common/Indexers/TorrenTech.cs +++ b/src/Jackett.Common/Indexers/TorrenTech.cs @@ -63,9 +63,9 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("Logged in as: "), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("Logged in as: "), () => { - var errorMessage = result.Content; + var errorMessage = result.ContentString; throw new ExceptionWithConfigData(errorMessage, configData); }); return IndexerConfigurationStatus.RequiresTesting; @@ -110,7 +110,7 @@ namespace Jackett.Common.Indexers var RowsSelector = "div.borderwrap:has(div.maintitle) > table > tbody > tr:has(a[href*=\"index.php?showtopic=\"])"; var SearchResultParser = new HtmlParser(); - var SearchResultDocument = SearchResultParser.ParseDocument(results.Content); + var SearchResultDocument = SearchResultParser.ParseDocument(results.ContentString); var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); foreach (var Row in Rows) { @@ -195,7 +195,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; @@ -204,7 +204,7 @@ namespace Jackett.Common.Indexers public override async Task Download(Uri link) { var response = await RequestStringWithCookies(link.ToString()); - var results = response.Content; + var results = response.ContentString; var SearchResultParser = new HtmlParser(); var SearchResultDocument = SearchResultParser.ParseDocument(results); var downloadSelector = "a[title=\"Download attachment\"]"; diff --git a/src/Jackett.Common/Indexers/TorrentBytes.cs b/src/Jackett.Common/Indexers/TorrentBytes.cs index 769e26e03..0f35363ab 100644 --- a/src/Jackett.Common/Indexers/TorrentBytes.cs +++ b/src/Jackett.Common/Indexers/TorrentBytes.cs @@ -92,12 +92,12 @@ namespace Jackett.Common.Indexers var loginPage = await RequestStringWithCookies(SiteLink, string.Empty); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, SiteLink, SiteLink); await ConfigureIfOK( - result.Cookies, result.Content?.Contains("my.php") == true, () => + result.Cookies, result.ContentString?.Contains("my.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var messageEl = dom.QuerySelector("td.embedded"); - var errorMessage = messageEl != null ? messageEl.TextContent : result.Content; + var errorMessage = messageEl != null ? messageEl.TextContent : result.ContentString; throw new ExceptionWithConfigData(errorMessage, configData); }); return IndexerConfigurationStatus.RequiresTesting; @@ -138,7 +138,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("table > tbody:has(tr > td.colhead) > tr:not(:has(td.colhead))"); foreach (var row in rows) { @@ -187,7 +187,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TorrentDay.cs b/src/Jackett.Common/Indexers/TorrentDay.cs index 8637edbac..435f724b1 100644 --- a/src/Jackett.Common/Indexers/TorrentDay.cs +++ b/src/Jackett.Common/Indexers/TorrentDay.cs @@ -166,7 +166,7 @@ namespace Jackett.Common.Indexers try { - var rows = JsonConvert.DeserializeObject(results.Content); + var rows = JsonConvert.DeserializeObject(results.ContentString); foreach (var row in rows) { @@ -207,7 +207,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/TorrentHeaven.cs b/src/Jackett.Common/Indexers/TorrentHeaven.cs index 341b2e6a1..8e9b3f501 100644 --- a/src/Jackett.Common/Indexers/TorrentHeaven.cs +++ b/src/Jackett.Common/Indexers/TorrentHeaven.cs @@ -109,13 +109,13 @@ namespace Jackett.Common.Indexers pairs.Add("proofcode", configData.CaptchaText.Value); var result = await RequestLoginAndFollowRedirect( IndexUrl, pairs, configData.CaptchaCookie.Value, true, referer: IndexUrl, accumulateCookies: true); - if (result.Content == null || (!result.Content.Contains("login_complete") && - !result.Content.Contains("index.php?strWebValue=account&strWebAction=logout"))) + if (result.ContentString == null || (!result.ContentString.Contains("login_complete") && + !result.ContentString.Contains("index.php?strWebValue=account&strWebAction=logout"))) { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessageEl = dom.QuerySelector("table > tbody > tr > td[valign=top][width=100%]"); - var errorMessage = errorMessageEl != null ? errorMessageEl.InnerHtml : result.Content; + var errorMessage = errorMessageEl != null ? errorMessageEl.InnerHtml : result.ContentString; throw new ExceptionWithConfigData(errorMessage, configData); } @@ -130,7 +130,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(IndexUrl, string.Empty); var parser = new HtmlParser(); - var dom = parser.ParseDocument(loginPage.Content); + var dom = parser.ParseDocument(loginPage.ContentString); var qCaptchaImg = dom.QuerySelector("td.tablea > img"); if (qCaptchaImg != null) { @@ -187,7 +187,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(response.Content); + var dom = parser.ParseDocument(response.ContentString); var rows = dom.QuerySelectorAll("table.torrenttable > tbody > tr"); foreach (var row in rows.Skip(1)) { @@ -242,7 +242,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TorrentLeech.cs b/src/Jackett.Common/Indexers/TorrentLeech.cs index 248bca788..5d8bd7de8 100644 --- a/src/Jackett.Common/Indexers/TorrentLeech.cs +++ b/src/Jackett.Common/Indexers/TorrentLeech.cs @@ -109,7 +109,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(LoginUrl, string.Empty); var parser = new HtmlParser(); - var dom = parser.ParseDocument(loginPage.Content); + var dom = parser.ParseDocument(loginPage.ContentString); var captcha = dom.QuerySelector(".g-recaptcha"); if (captcha != null) { @@ -169,10 +169,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); - await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("/user/account/logout"), () => + await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("/user/account/logout"), () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector("p.text-danger:contains(\"Error:\")").TextContent.Trim(); throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -200,7 +200,7 @@ namespace Jackett.Common.Indexers var results = await RequestStringWithCookiesAndRetry(searchUrl); - if (results.Content.Contains("/user/account/login")) // re-login + if (results.ContentString.Contains("/user/account/login")) // re-login { await DoLogin(); results = await RequestStringWithCookiesAndRetry(searchUrl); @@ -208,7 +208,7 @@ namespace Jackett.Common.Indexers try { - var rows = (JArray)((JObject)JsonConvert.DeserializeObject(results.Content))["torrentList"]; + var rows = (JArray)((JObject)JsonConvert.DeserializeObject(results.ContentString))["torrentList"]; foreach (var row in rows) { var title = row["name"].ToString(); @@ -249,7 +249,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TorrentNetwork.cs b/src/Jackett.Common/Indexers/TorrentNetwork.cs index 952685012..57bc20aae 100644 --- a/src/Jackett.Common/Indexers/TorrentNetwork.cs +++ b/src/Jackett.Common/Indexers/TorrentNetwork.cs @@ -125,9 +125,9 @@ namespace Jackett.Common.Indexers { var jsonData = JsonConvert.SerializeObject(data); var result = await PostDataWithCookies(APIUrl + endpoint, null, null, SiteLink, APIHeaders, jsonData); - if (!result.Content.StartsWith("{")) // not JSON => error - throw new ExceptionWithConfigData(result.Content, configData); - dynamic json = JsonConvert.DeserializeObject(result.Content); + if (!result.ContentString.StartsWith("{")) // not JSON => error + throw new ExceptionWithConfigData(result.ContentString, configData); + dynamic json = JsonConvert.DeserializeObject(result.ContentString); return json; } diff --git a/src/Jackett.Common/Indexers/TorrentSeeds.cs b/src/Jackett.Common/Indexers/TorrentSeeds.cs index aaf141379..3fea81e80 100644 --- a/src/Jackett.Common/Indexers/TorrentSeeds.cs +++ b/src/Jackett.Common/Indexers/TorrentSeeds.cs @@ -106,7 +106,7 @@ namespace Jackett.Common.Indexers LoadValuesFromJson(configJson); var loginPage = await RequestStringWithCookies(TokenUrl); var parser = new HtmlParser(); - var dom = parser.ParseDocument(loginPage.Content); + var dom = parser.ParseDocument(loginPage.ContentString); var token = dom.QuerySelector("form.form-horizontal > span"); var csrf = token.Children[1].GetAttribute("value"); var pairs = new Dictionary @@ -119,10 +119,10 @@ namespace Jackett.Common.Indexers }; var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, loginPage.Cookies, true, accumulateCookies: true); await ConfigureIfOK( - result.Cookies, result.Content.Contains("/logout.php?"), + result.Cookies, result.ContentString.Contains("/logout.php?"), () => { - var errorDom = parser.ParseDocument(result.Content); + var errorDom = parser.ParseDocument(result.ContentString); var errorMessage = errorDom.QuerySelector("td.colhead2").InnerHtml; throw new ExceptionWithConfigData(errorMessage, configData); }); @@ -150,12 +150,12 @@ namespace Jackett.Common.Indexers queryCollection.Add($"cat[{cat}]", "1"); searchUrl += "?" + queryCollection.GetQueryString(); var response = await RequestStringWithCookiesAndRetry(searchUrl); - var results = response.Content; + var results = response.ContentString; if (!results.Contains("/logout.php?")) { await ApplyConfiguration(null); response = await RequestStringWithCookiesAndRetry(searchUrl); - results = response.Content; + results = response.ContentString; } try diff --git a/src/Jackett.Common/Indexers/TorrentSyndikat.cs b/src/Jackett.Common/Indexers/TorrentSyndikat.cs index 2afe9d242..40e791e2c 100644 --- a/src/Jackett.Common/Indexers/TorrentSyndikat.cs +++ b/src/Jackett.Common/Indexers/TorrentSyndikat.cs @@ -112,7 +112,7 @@ namespace Jackett.Common.Indexers CookieHeader = ""; var result1 = await RequestStringWithCookies(CaptchaUrl); - var json1 = JObject.Parse(result1.Content); + var json1 = JObject.Parse(result1.ContentString); var captchaSelection = json1["images"][0]["hash"]; var pairs = new Dictionary { @@ -124,8 +124,8 @@ namespace Jackett.Common.Indexers var result2 = await RequestLoginAndFollowRedirect(LoginUrl, pairs, result1.Cookies, true, null, null, true); - await ConfigureIfOK(result2.Cookies, result2.Content.Contains("/logout.php"), - () => throw new ExceptionWithConfigData(result2.Content, configData)); + await ConfigureIfOK(result2.Cookies, result2.ContentString.Contains("/logout.php"), + () => throw new ExceptionWithConfigData(result2.ContentString, configData)); return IndexerConfigurationStatus.RequiresTesting; } @@ -183,7 +183,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(results.Content); + var dom = parser.ParseDocument(results.ContentString); var rows = dom.QuerySelectorAll("table.torrent_table > tbody > tr"); var globalFreeleech = dom.QuerySelector("legend:contains(\"Freeleech\")+ul > li > b:contains(\"Freeleech\")") != null; foreach (var row in rows.Skip(1)) @@ -242,7 +242,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(results.Content, ex); + OnParseError(results.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Indexers/TorrentsCSV.cs b/src/Jackett.Common/Indexers/TorrentsCSV.cs index 6530c61f5..83bae844d 100644 --- a/src/Jackett.Common/Indexers/TorrentsCSV.cs +++ b/src/Jackett.Common/Indexers/TorrentsCSV.cs @@ -74,7 +74,7 @@ namespace Jackett.Common.Indexers try { - var jsonStart = response.Content; + var jsonStart = response.ContentString; var jsonContent = JArray.Parse(jsonStart); foreach (var torrent in jsonContent) @@ -156,7 +156,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; } diff --git a/src/Jackett.Common/Indexers/XSpeeds.cs b/src/Jackett.Common/Indexers/XSpeeds.cs index 51d7a602b..d6f20fac9 100644 --- a/src/Jackett.Common/Indexers/XSpeeds.cs +++ b/src/Jackett.Common/Indexers/XSpeeds.cs @@ -134,7 +134,7 @@ namespace Jackett.Common.Indexers { var loginPage = await RequestStringWithCookies(LandingUrl); var parser = new HtmlParser(); - var dom = parser.ParseDocument(loginPage.Content); + var dom = parser.ParseDocument(loginPage.ContentString); var qCaptchaImg = dom.QuerySelector("img#regimage"); if (qCaptchaImg != null) { @@ -169,11 +169,11 @@ namespace Jackett.Common.Indexers //var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, SiteLink, true); var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, SearchUrl, LandingUrl, true); - await ConfigureIfOK(result.Cookies, result.Content?.Contains("logout.php") == true, + await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () => { var parser = new HtmlParser(); - var dom = parser.ParseDocument(result.Content); + var dom = parser.ParseDocument(result.ContentString); var errorMessage = dom.QuerySelector(".left_side table:nth-of-type(1) tr:nth-of-type(2)")?.TextContent.Trim().Replace("\n\t", " "); if (string.IsNullOrWhiteSpace(errorMessage)) errorMessage = dom.QuerySelector("div.notification-body").TextContent.Trim().Replace("\n\t", " "); @@ -190,7 +190,7 @@ namespace Jackett.Common.Indexers {"showrows", "50"} }; var rssPage = await PostDataWithCookies(GetRSSKeyUrl, rssParams, result.Cookies); - var match = Regex.Match(rssPage.Content, "(?<=secret_key\\=)([a-zA-z0-9]*)"); + var match = Regex.Match(rssPage.ContentString, "(?<=secret_key\\=)([a-zA-z0-9]*)"); configData.RSSKey.Value = match.Success ? match.Value : string.Empty; if (string.IsNullOrWhiteSpace(configData.RSSKey.Value)) throw new Exception("Failed to get RSS Key"); @@ -238,7 +238,7 @@ namespace Jackett.Common.Indexers try { var parser = new HtmlParser(); - var dom = parser.ParseDocument(searchPage.Content); + var dom = parser.ParseDocument(searchPage.ContentString); var rows = dom.QuerySelectorAll("table#sortabletable > tbody > tr:has(div > a[href*=\"details.php?id=\"])"); foreach (var row in rows) { @@ -290,7 +290,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(searchPage.Content, ex); + OnParseError(searchPage.ContentString, ex); } if (!CookieHeader.Trim().Equals(prevCook.Trim())) diff --git a/src/Jackett.Common/Indexers/Xthor.cs b/src/Jackett.Common/Indexers/Xthor.cs index e7aeba2cd..afd9e3443 100644 --- a/src/Jackett.Common/Indexers/Xthor.cs +++ b/src/Jackett.Common/Indexers/Xthor.cs @@ -490,10 +490,10 @@ namespace Jackett.Common.Indexers // Request our first page var results = await webclient.GetString(myIndexRequest); if (results.Status == HttpStatusCode.InternalServerError) // See issue #2110 - throw new Exception("Internal Server Error (" + results.Content + "), probably you reached the API limits, please reduce the number of queries"); + throw new Exception("Internal Server Error (" + results.ContentString + "), probably you reached the API limits, please reduce the number of queries"); // Return results from tracker - return results.Content; + return results.ContentString; } /// diff --git a/src/Jackett.Common/Indexers/YTS.cs b/src/Jackett.Common/Indexers/YTS.cs index ea6fc20e9..f4f3d8f73 100644 --- a/src/Jackett.Common/Indexers/YTS.cs +++ b/src/Jackett.Common/Indexers/YTS.cs @@ -104,8 +104,8 @@ namespace Jackett.Common.Indexers try { // returned content might start with an html error message, remove it first - var jsonStart = response.Content.IndexOf('{'); - var jsonContentStr = response.Content.Remove(0, jsonStart); + var jsonStart = response.ContentString.IndexOf('{'); + var jsonContentStr = response.ContentString.Remove(0, jsonStart); var jsonContent = JObject.Parse(jsonContentStr); @@ -209,7 +209,7 @@ namespace Jackett.Common.Indexers } catch (Exception ex) { - OnParseError(response.Content, ex); + OnParseError(response.ContentString, ex); } return releases; diff --git a/src/Jackett.Common/Services/ImdbResolver.cs b/src/Jackett.Common/Services/ImdbResolver.cs index 611f381c9..9b8b6785b 100644 --- a/src/Jackett.Common/Services/ImdbResolver.cs +++ b/src/Jackett.Common/Services/ImdbResolver.cs @@ -38,7 +38,7 @@ namespace Jackett.Common.Services Encoding = Encoding.UTF8 }; var result = await WebClient.GetString(request); - var movie = JsonConvert.DeserializeObject(result.Content); + var movie = JsonConvert.DeserializeObject(result.ContentString); return movie; } diff --git a/src/Jackett.Common/Services/UpdateService.cs b/src/Jackett.Common/Services/UpdateService.cs index 6c30d8934..8dbcbf11f 100644 --- a/src/Jackett.Common/Services/UpdateService.cs +++ b/src/Jackett.Common/Services/UpdateService.cs @@ -126,7 +126,7 @@ namespace Jackett.Common.Services logger.Error("Failed to get the release list: " + response.Status); } - var releases = JsonConvert.DeserializeObject>(response.Content); + var releases = JsonConvert.DeserializeObject>(response.ContentString); if (!serverConfig.UpdatePrerelease) { diff --git a/src/Jackett.Common/Utils/Clients/WebClient.cs b/src/Jackett.Common/Utils/Clients/WebClient.cs index 638bbbef3..4eed61df6 100644 --- a/src/Jackett.Common/Utils/Clients/WebClient.cs +++ b/src/Jackett.Common/Utils/Clients/WebClient.cs @@ -152,13 +152,13 @@ namespace Jackett.Common.Utils.Clients if (result.Content != null) decodedContent = encoding.GetString(result.Content); - stringResult.Content = decodedContent; + stringResult.ContentString = decodedContent; logger.Debug(string.Format("WebClient({0}): Returning {1} => {2}", ClientType, result.Status, (result.IsRedirect ? result.RedirectingTo + " " : "") + (decodedContent == null ? "" : decodedContent))); if (stringResult.Headers.TryGetValue("server", out var server)) { if (server[0] == "cloudflare-nginx") - stringResult.Content = BrowserUtil.DecodeCloudFlareProtectedEmailFromHTML(stringResult.Content); + stringResult.ContentString = BrowserUtil.DecodeCloudFlareProtectedEmailFromHTML(stringResult.ContentString); } return stringResult; } diff --git a/src/Jackett.Common/Utils/Clients/WebClientResult.cs b/src/Jackett.Common/Utils/Clients/WebClientResult.cs index c512aba66..360e50832 100644 --- a/src/Jackett.Common/Utils/Clients/WebClientResult.cs +++ b/src/Jackett.Common/Utils/Clients/WebClientResult.cs @@ -2,6 +2,6 @@ namespace Jackett.Common.Utils.Clients { public class WebClientStringResult : BaseWebResult { - public string Content { get; set; } + public string ContentString { get; set; } } } diff --git a/src/Jackett.Server/Helper.cs b/src/Jackett.Server/Helper.cs index edb984ec2..5a1aeb9d0 100644 --- a/src/Jackett.Server/Helper.cs +++ b/src/Jackett.Server/Helper.cs @@ -73,18 +73,18 @@ namespace Jackett.Server // TODO: fix deprecation warning (remove #pragma to see the build warning) Mapper.Initialize(cfg => { - cfg.CreateMap().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((be, str) => + cfg.CreateMap().ForMember(x => x.ContentString, opt => opt.Ignore()).AfterMap((be, str) => { var encoding = be.Request.Encoding ?? Encoding.UTF8; - str.Content = encoding.GetString(be.Content); + str.ContentString = encoding.GetString(be.Content); }); cfg.CreateMap().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((str, be) => { - if (!string.IsNullOrEmpty(str.Content)) + if (!string.IsNullOrEmpty(str.ContentString)) { var encoding = str.Request.Encoding ?? Encoding.UTF8; - be.Content = encoding.GetBytes(str.Content); + be.Content = encoding.GetBytes(str.ContentString); } });