mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-03-04 13:29:56 -05:00
Shazbat fixes for searching and relogin if needed (#2607)
* Fixed: (Shazbat) Update searching * Fixed: (Shazbat) Relogin on redirect to login page
This commit is contained in:
@@ -94,7 +94,9 @@ public class Shazbat : TorrentIndexerBase<ShazbatSettings>
|
|||||||
|
|
||||||
protected override bool CheckIfLoginNeeded(HttpResponse httpResponse)
|
protected override bool CheckIfLoginNeeded(HttpResponse httpResponse)
|
||||||
{
|
{
|
||||||
return (httpResponse.HasHttpRedirect && httpResponse.RedirectUrl.ContainsIgnoreCase("login")) || httpResponse.Content.ContainsIgnoreCase("sign in now");
|
return (httpResponse.HasHttpRedirect && httpResponse.RedirectUrl.ContainsIgnoreCase("login")) ||
|
||||||
|
httpResponse.Content.ContainsIgnoreCase("sign in now") ||
|
||||||
|
(httpResponse.Content.ContainsIgnoreCase("fullRedirect") && httpResponse.Content.ContainsIgnoreCase("login"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private IndexerCapabilities SetCapabilities()
|
private IndexerCapabilities SetCapabilities()
|
||||||
@@ -168,9 +170,9 @@ public class ShazbatRequestGenerator : IIndexerRequestGenerator
|
|||||||
|
|
||||||
if (term.IsNotNullOrWhiteSpace())
|
if (term.IsNotNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
var request = new HttpRequestBuilder(_settings.BaseUrl + "search").Post()
|
var request = new HttpRequestBuilder(_settings.BaseUrl + "search")
|
||||||
.AddFormParameter("search", term)
|
.AddQueryParam("search", term)
|
||||||
.SetHeader("Content-Type", "application/x-www-form-urlencoded")
|
.AddQueryParam("portlet", "true")
|
||||||
.SetHeader("X-Requested-With", "XMLHttpRequest")
|
.SetHeader("X-Requested-With", "XMLHttpRequest")
|
||||||
.SetHeader("Referer", _settings.BaseUrl)
|
.SetHeader("Referer", _settings.BaseUrl)
|
||||||
.Accept(HttpAccept.Html)
|
.Accept(HttpAccept.Html)
|
||||||
@@ -195,7 +197,7 @@ public class ShazbatRequestGenerator : IIndexerRequestGenerator
|
|||||||
term = Regex.Replace(term, @"(.+)\b\d{4}(\.\d{2}\.\d{2})?\b", "$1");
|
term = Regex.Replace(term, @"(.+)\b\d{4}(\.\d{2}\.\d{2})?\b", "$1");
|
||||||
term = Regex.Replace(term, @"[\.\s\(\)\[\]]+", " ");
|
term = Regex.Replace(term, @"[\.\s\(\)\[\]]+", " ");
|
||||||
|
|
||||||
return term.ToLower().Trim();
|
return term.ToLowerInvariant().Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Func<IDictionary<string, string>> GetCookies { get; set; }
|
public Func<IDictionary<string, string>> GetCookies { get; set; }
|
||||||
@@ -260,15 +262,15 @@ public partial class ShazbatParser : IParseIndexerResponse
|
|||||||
var showPageUrl = new HttpRequestBuilder(_settings.BaseUrl + "show")
|
var showPageUrl = new HttpRequestBuilder(_settings.BaseUrl + "show")
|
||||||
.AddQueryParam("id", show.GetAttribute("data-id"))
|
.AddQueryParam("id", show.GetAttribute("data-id"))
|
||||||
.Build()
|
.Build()
|
||||||
.Url.FullUri;
|
.Url
|
||||||
|
.FullUri;
|
||||||
|
|
||||||
var showRequest = new HttpRequestBuilder(_settings.BaseUrl + "show").Post()
|
var showRequest = new HttpRequestBuilder(_settings.BaseUrl + "show")
|
||||||
.SetCookies(indexerResponse.HttpResponse.GetCookies() ?? new Dictionary<string, string>())
|
.SetCookies(indexerResponse.HttpResponse.GetCookies() ?? new Dictionary<string, string>())
|
||||||
.AddQueryParam("id", show.GetAttribute("data-id"))
|
.AddQueryParam("id", show.GetAttribute("data-id"))
|
||||||
.AddQueryParam("show_mode", "torrents")
|
.AddQueryParam("show_mode", "torrents")
|
||||||
.AddFormParameter("portlet", "true")
|
.AddQueryParam("portlet", "true")
|
||||||
.AddFormParameter("tab", "true")
|
.AddQueryParam("tab", "true")
|
||||||
.SetHeader("Content-Type", "application/x-www-form-urlencoded")
|
|
||||||
.SetHeader("X-Requested-With", "XMLHttpRequest")
|
.SetHeader("X-Requested-With", "XMLHttpRequest")
|
||||||
.SetHeader("Referer", showPageUrl)
|
.SetHeader("Referer", showPageUrl)
|
||||||
.Accept(HttpAccept.Html)
|
.Accept(HttpAccept.Html)
|
||||||
|
|||||||
Reference in New Issue
Block a user