diff --git a/python3_anticaptcha/CustomCaptchaTask.py b/python3_anticaptcha/CustomCaptchaTask.py index 31e7e6b..00b632d 100644 --- a/python3_anticaptcha/CustomCaptchaTask.py +++ b/python3_anticaptcha/CustomCaptchaTask.py @@ -57,10 +57,11 @@ class CustomCaptchaTask: return True # Работа с капчёй - def captcha_handler(self, imageUrl: str) -> dict: + def captcha_handler(self, imageUrl: str, **kwargs) -> dict: """ Метод получает ссылку изображение для задания :param imageUrl: URL картинки + :param kwargs: Дополнительные параметры для `requests.post(....)`. :return: Возвращает ответ сервера в виде JSON(ответ так же можно глянуть в документации антикапчи) """ self.task_payload["task"].update({"imageUrl": imageUrl}) diff --git a/python3_anticaptcha/FunCaptchaTask.py b/python3_anticaptcha/FunCaptchaTask.py index debf5a6..61313ca 100644 --- a/python3_anticaptcha/FunCaptchaTask.py +++ b/python3_anticaptcha/FunCaptchaTask.py @@ -55,6 +55,7 @@ class FunCaptchaTask: Метод получает ссылку на страницу на которпой расположена капча и ключ капчи :param websiteURL: Ссылка на страницу с капчёй :param websitePublicKey: Ключ капчи(как его получить - описано в документаии на сайте антикапчи) + :param kwargs: Дополнительные параметры для `requests.post(....)`. :return: Возвращает ответ сервера в виде JSON(ответ так же можно глянуть в документации антикапчи) """ self.task_payload["task"].update( diff --git a/python3_anticaptcha/FunCaptchaTaskProxyless.py b/python3_anticaptcha/FunCaptchaTaskProxyless.py index 02c662a..0c5c635 100644 --- a/python3_anticaptcha/FunCaptchaTaskProxyless.py +++ b/python3_anticaptcha/FunCaptchaTaskProxyless.py @@ -48,6 +48,7 @@ class FunCaptchaTaskProxyless: :param websiteURL: Ссылка на страницу с капчёй :param data: Дополнительный параметр, который может требоваться для некоторых решений фанкапчи. :param websitePublicKey: Ключ капчи(как его получить - описано в документаии на сайте антикапчи) + :param kwargs: Дополнительные параметры для `requests.post(....)`. :return: Возвращает ответ сервера в виде JSON(ответ так же можно глянуть в документации антикапчи) """ self.task_payload["task"].update( diff --git a/python3_anticaptcha/GeeTestTask.py b/python3_anticaptcha/GeeTestTask.py index c4b5e12..0c7954d 100644 --- a/python3_anticaptcha/GeeTestTask.py +++ b/python3_anticaptcha/GeeTestTask.py @@ -58,16 +58,19 @@ class GeeTestTask: return True # Работа с капчёй - def captcha_handler(self, challenge: str) -> dict: + def captcha_handler(self, challenge: str, **kwargs) -> dict: """ Метод получает ссылку изображение для задания :param challenge: Переменный токен который необходимо обновлять каждый раз перед созданием задачи + :param kwargs: Дополнительные параметры для `requests.post(....)`. :return: Возвращает ответ сервера в виде JSON(ответ так же можно глянуть в документации антикапчи) """ self.task_payload["task"].update({"challenge": challenge}) # Отправляем на антикапча параметры фанкапич, # в результате получаем JSON ответ содержащий номер решаемой капчи - captcha_id = requests.post(create_task_url, json=self.task_payload, verify=False).json() + captcha_id = requests.post( + create_task_url, json=self.task_payload, verify=False, **kwargs + ).json() # Проверка статуса создания задачи, если создано без ошибок - извлекаем ID задачи, иначе возвращаем ответ сервера if captcha_id["errorId"] == 0: diff --git a/python3_anticaptcha/GeeTestTaskProxyless.py b/python3_anticaptcha/GeeTestTaskProxyless.py index 4d1923f..264b331 100644 --- a/python3_anticaptcha/GeeTestTaskProxyless.py +++ b/python3_anticaptcha/GeeTestTaskProxyless.py @@ -50,16 +50,19 @@ class GeeTestTaskProxyless: return True # Работа с капчёй - def captcha_handler(self, challenge: str) -> dict: + def captcha_handler(self, challenge: str, **kwargs) -> dict: """ Метод получает ссылку изображение для задания :param challenge: Переменный токен который необходимо обновлять каждый раз перед созданием задачи + :param kwargs: Дополнительные параметры для `requests.post(....)`. :return: Возвращает ответ сервера в виде JSON(ответ так же можно глянуть в документации антикапчи) """ self.task_payload["task"].update({"challenge": challenge}) # Отправляем на антикапча параметры фанкапич, # в результате получаем JSON ответ содержащий номер решаемой капчи - captcha_id = requests.post(create_task_url, json=self.task_payload, verify=False).json() + captcha_id = requests.post( + create_task_url, json=self.task_payload, verify=False, **kwargs + ).json() # Проверка статуса создания задачи, если создано без ошибок - извлекаем ID задачи, иначе возвращаем ответ сервера if captcha_id["errorId"] == 0: diff --git a/python3_anticaptcha/ImageToTextTask.py b/python3_anticaptcha/ImageToTextTask.py index 3b9c748..9e44db5 100644 --- a/python3_anticaptcha/ImageToTextTask.py +++ b/python3_anticaptcha/ImageToTextTask.py @@ -177,6 +177,7 @@ class ImageToTextTask: :param captcha_link: Ссылка на изображение :param captcha_file: Необязательный параметр, служит для открытия уже скачанных файлов изображений. :param captcha_base64: Загрузка изображения в кодировке base64 + :param kwargs: Дополнительные параметры для `requests.get(....)` скачивающего изображение, если передана ссылка. :return: Возвращает весь ответ сервера JSON-строкой. """ if captcha_file: diff --git a/python3_anticaptcha/NoCaptchaTask.py b/python3_anticaptcha/NoCaptchaTask.py index ac428f4..527f39c 100644 --- a/python3_anticaptcha/NoCaptchaTask.py +++ b/python3_anticaptcha/NoCaptchaTask.py @@ -140,8 +140,8 @@ class aioNoCaptchaTask: ) -> dict: """ Метод получает ссылку на страницу, где расположена капча, и ключ капчи - :param: websiteURL: Ссылка на страницу с капчёй - :param: websiteKey: Ключ капчи(как его получить - описано в документаии на сайте антикапчи) + :param: websiteURL: Ссылка на страницу с капчёй. + :param: websiteKey: Ключ капчи(как его получить - описано в документаии на сайте антикапчи). :param recaptchaDataSValue: Некоторые реализации виджета рекапчи могут содержать дополнительный параметр "data-s" в div'е рекапчи, который является одноразовым токеном и diff --git a/python3_anticaptcha/ReCaptchaV3TaskProxyless.py b/python3_anticaptcha/ReCaptchaV3TaskProxyless.py index 8725502..edd499e 100644 --- a/python3_anticaptcha/ReCaptchaV3TaskProxyless.py +++ b/python3_anticaptcha/ReCaptchaV3TaskProxyless.py @@ -61,7 +61,7 @@ class ReCaptchaV3TaskProxyless: :param minScore: Определяет фильтр, по которому отбирается работник с нужным минимальным score. :param pageAction: Значение параметра action, которое передается виджетом рекапчи в гугл, и которое потом видит владелец сайта при проверке токена. - :param kwargs: Дополнительные параметры для `requests.post`, который отправляет даныйе на решение. + :param kwargs: Дополнительные параметры для `requests.post(....)`, который отправляет даныйе на решение. :return: Возвращает ответ сервера в виде JSON-строки """ if minScore not in MIN_SCORES: diff --git a/python3_anticaptcha/SquareNetTextTask.py b/python3_anticaptcha/SquareNetTextTask.py index 7d6beaf..3988999 100644 --- a/python3_anticaptcha/SquareNetTextTask.py +++ b/python3_anticaptcha/SquareNetTextTask.py @@ -165,6 +165,7 @@ class SquareNetTextTask: image_link: str = None, image_file: str = None, image_base64: str = None, + **kwargs, ) -> dict: """ Этот тип задачи берет вашу картинку, добавляет на нее сетку нужного размера и отдает работнику с требованием выбрать объекты нужного типа. @@ -176,6 +177,8 @@ class SquareNetTextTask: :param image_file: Необязательный параметр, служит для открытия уже скачанных файлов изображений. :param image_base64: Загрузка изображения в кодировке base64 + :param kwargs: Дополнительные параметры для `requests.get(....)` скачивающего изображение, если передана ссылка. + :return: Возвращает весь ответ сервера JSON-строкой. """ # проверка параметров сетки @@ -200,7 +203,7 @@ class SquareNetTextTask: # проводим действия над ссылкой на файл(скачиваем, сохраняем и передаём на сервер) elif image_link: - content = self.session.get(image_link).content + content = self.session.get(image_link, **kwargs).content # согласно значения переданного параметра выбираем функцию для сохранения изображения if self.save_format == "const": captcha_id = self.__image_const_saver(content)