mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Cardigann: add support for text captcha
This commit is contained in:
@@ -557,6 +557,22 @@ namespace Jackett.Indexers
|
||||
pairs[input] = CaptchaText.Value;
|
||||
}
|
||||
}
|
||||
if (Captcha.Type == "text")
|
||||
{
|
||||
var CaptchaAnswer = (StringItem)configData.GetDynamic("CaptchaAnswer");
|
||||
if (CaptchaAnswer != null)
|
||||
{
|
||||
var input = Captcha.Input;
|
||||
if (Login.Selectors)
|
||||
{
|
||||
var inputElement = landingResultDocument.QuerySelector(Captcha.Input);
|
||||
if (inputElement == null)
|
||||
throw new ExceptionWithConfigData(string.Format("Login failed: No captcha input found using {0}", Captcha.Input), configData);
|
||||
input = inputElement.GetAttribute("name");
|
||||
}
|
||||
pairs[input] = CaptchaAnswer.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// clear landingResults/Document, otherwise we might use an old version for a new relogin (if GetConfigurationForSetup() wasn't called before)
|
||||
@@ -716,7 +732,7 @@ namespace Jackett.Indexers
|
||||
var Captcha = Login.Captcha;
|
||||
if (Captcha.Type == "image")
|
||||
{
|
||||
var captchaElement = landingResultDocument.QuerySelector(Captcha.Image);
|
||||
var captchaElement = landingResultDocument.QuerySelector(Captcha.Selector);
|
||||
if (captchaElement != null)
|
||||
{
|
||||
hasCaptcha = true;
|
||||
@@ -736,6 +752,24 @@ namespace Jackett.Indexers
|
||||
logger.Debug(string.Format("CardigannIndexer ({0}): No captcha image found", ID));
|
||||
}
|
||||
}
|
||||
else if (Captcha.Type == "text")
|
||||
{
|
||||
var captchaElement = landingResultDocument.QuerySelector(Captcha.Selector);
|
||||
if (captchaElement != null)
|
||||
{
|
||||
hasCaptcha = true;
|
||||
|
||||
var CaptchaChallenge = new DisplayItem(captchaElement.TextContent) { Name = "Captcha Challenge" };
|
||||
var CaptchaAnswer = new StringItem { Name = "Captcha Answer" };
|
||||
|
||||
configData.AddDynamic("CaptchaChallenge", CaptchaChallenge);
|
||||
configData.AddDynamic("CaptchaAnswer", CaptchaAnswer);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Debug(string.Format("CardigannIndexer ({0}): No captcha image found", ID));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotImplementedException(string.Format("Captcha type \"{0}\" is not implemented", Captcha.Type));
|
||||
|
Reference in New Issue
Block a user