Http rucaptcha com: онлайн сервис распознавания капч и оцифровке изображений

Содержание

Антикапча: онлайн сервис распознавания капч и оцифровке изображений

Domain Name: RUCAPTCHA.COM
Registry Domain ID: 1834851857_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.name.com
Registrar URL: http://www.name.com
Updated Date: 2020-10-09T17:38:24Z
Creation Date: 2013-11-09T21:45:20Z
Registrar Registration Expiration Date: 2021-11-09T21:45:20Z
Registrar: Name.com, Inc.
Registrar IANA ID: 625
Reseller:
Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited
Registry Registrant ID: Not Available From Registry
Registrant Name: Whois Agent
Registrant Organization: Domain Protection Services, Inc.
Registrant Street: PO Box 1769
Registrant City: Denver
Registrant State/Province: CO
Registrant Postal Code: 80201
Registrant Country: US
Registrant Phone: +1.7208009072
Registrant Fax: +1.7209758725
Registrant Email: https://www.name.com/contact-domain-whois/rucaptcha.com
Registry Admin ID: Not Available From Registry
Admin Name: Whois Agent
Admin Organization: Domain Protection Services, Inc.
Admin Street: PO Box 1769
Admin City: Denver
Admin State/Province: CO
Admin Postal Code: 80201
Admin Country: US
Admin Phone: +1.7208009072
Admin Fax: +1.7209758725
Admin Email: https://www.name.com/contact-domain-whois/rucaptcha.com
Registry Tech ID: Not Available From Registry
Tech Name: Whois Agent
Tech Organization: Domain Protection Services, Inc.
Tech Street: PO Box 1769
Tech City: Denver
Tech State/Province: CO
Tech Postal Code: 80201
Tech Country: US
Tech Phone: +1.7208009072
Tech Fax: +1.7209758725
Tech Email: https://www.name.com/contact-domain-whois/rucaptcha.com
Name Server: ns1jsv.name.com
Name Server: ns1.altweb.ru
DNSSEC: unSigned
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.7203101849
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2021-03-29T13:56:50Z

For more information on Whois status codes, please visit https://icann.org/epp


The data in the Name.com, Inc. WHOIS database is provided by Name.com, Inc. for information purposes, and to assist persons in obtaining information about or related to a domain name registration record. Name.com, Inc. does not guarantee its accuracy. Users accessing the Name.com, Inc. WHOIS service agree to use the data only for lawful purposes, and under no circumstances may this data be used to: a) allow, enable, or otherwise support the transmission by e-mail, telephone, or facsimile of mass unsolicited, commercial advertising or solicitations to entities other than the registrar’s own existing customers and b) enable high volume, automated, electronic processes that send queries or data to the systems of Name.com, Inc., except as reasonably necessary to register domain names or modify existing registrations. When using the Name.com, Inc. WHOIS service, please consider the following: the WHOIS service is not a replacement for standard EPP commands to the SRS service. WHOIS is not considered authoritative for registered domain objects. The WHOIS service may be scheduled for downtime during production or OT&E maintenance periods. Where applicable, the presence of a [Non-Public Data] tag indicates that such data is not made publicly available due to applicable data privacy laws or requirements. Access to non-public data may be provided, upon request, where it can be reasonably confirmed that the requester holds a specific legitimate interest and a proper legal basis, for accessing the withheld data. Access to this data can be requested by submitting a request via the form found at https://www.name.com/layered-access-request . Name.com, Inc. reserves the right to modify these terms at any time. By submitting this query, you agree to abide by this policy.



Rucaptcha : Антикапча-сервис ручного распознавания капч и сканированных изображений. OCR-online

1.67 Rating by WebStatData

— rucaptcha.com is 2 decades 8 months old. rucaptcha.com has #23,747 ranking worldwide. This site has .com as an extension. This website is estimated worth of $ 349,920.00 and daily earning of $ 486.00. rucaptcha.com is SAFE to browse. rucaptcha.com is Hosted on Moskva, Moscow, Russian Federation, 101990

Update Get Widget

Traffic Report

Daily Unique Visitors: 40,519
Daily Pageviews: 243,114

Estimated Valuation

Income Per Day: $ 486.00
Estimated Worth: $ 349,920.00

Search Engine Indexes

Google Indexed Pages: N/A
Yahoo Indexed Pages: N/A
Bing Indexed Pages: N/A

Search Engine Backlinks

Google Backlinks: N/A
Bing Backlinks: N/A
Alexa BackLinks: N/A

Safety Information

Google Safe Browsing: No Risk Issues
Siteadvisor Rating: N/A
WOT Trustworthiness: Good
WOT Privacy: Good
WOT Child Safety: Excellent

Website Ranks & Scores

Google Pagerank: N/A
Alexa Rank: 23,747
Domain Authority: N/A
DMOZ Listing: No
Google Pagerank PR 0 out of 10
PageSpeed Score
Siteadvisor Rating
N/A

Where is rucaptcha.com located?

Hosted IP Address:

89.108.73.200

Hosted Country:

RU

Location Latitude:

55.7522

Location Longitude:

37.6156

Social Engagement

Facebook Shares:
N/A
Facebook Likes: N/A
Facebook Comments: N/A
Twitter Count (Tweets): N/A
Linkedin Shares: N/A
Delicious Shares: N/A

What Resources does rucaptcha.com uses?

Outgoing and Incoming links to rucaptcha.com

Website Inpage Analysis

h2 Headings: 1h3 Headings: N/A
h4 Headings: N/Ah5 Headings: N/A
H5 Headings:
N/AH6 Headings: N/A
Total IFRAMEs: N/ATotal Images: 25
Google Adsense: N/AGoogle Analytics: UA-71562540-1

HTTP Header Analysis

Http-Version: 1.1
Status-Code: 200
Status: 200 OK
Server: nginx/1.10.1
Date: Sat, 25 Mar 2017 21:45:32 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.0.11
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache

Domain Information

Domain Registrar:
NAME.COM, INC.
Registration Date: 2000-11-00 2 decades 8 months 3 weeks ago
Last Modified: 2016-10-18 4 years 9 months 1 week ago
Expiration Date: 2017-11-09 3 years 8 months 1 week ago

Domain Nameserver Information

HostIP AddressCountry
ns1.altweb.ru
89.108.108.201Russia
ns2.altweb.ru89.108.109.196Russia

DNS Record Analysis

HostTypeTTLExtra
rucaptcha.comA7192
IP:
89.108.73.200
rucaptcha.comNS7200 Target: ns1.altweb.ru
rucaptcha.comNS7200 Target: ns2.altweb.ru
rucaptcha.comSOA
7200
MNAME: rucaptcha.com
RNAME: root.rucaptcha.com
Serial: 2005062802
Refresh: 10800
Retry: 1800
Expire: 3600000
rucaptcha.comMX7200 Priority: 10
Target: mx.yandex.ru

Websites rank related to rucaptcha.com

Alexa Traffic Rank

Alexa Search Engine Traffic

Like rucaptcha.com ? Comment / rate / feedback below

Информация о сайте rucaptcha.com

Здесь вы сможете провести полный анализ сайта, начиная с наличия его в каталогах и заканчивая подсчетом скорости загрузки. Наберитесь немного терпения, анализ требует некоторого времени. Введите в форму ниже адрес сайта, который хотите проанализировать и нажмите «Анализ».

Идёт обработка запроса, подождите секундочку

Чаще всего проверяют:

СайтПроверок
vk.com 91451
vkontakte.ru 43431
odnoklassniki.ru 34500
2ip.ru 16798
mail.ru 16729
yandex.ru 14088
pornolab.net 9955
youtube.com 9280
rutracker.org 9045
vstatuse.in 7120

Результаты анализа сайта «rucaptcha.com»

НаименованиеРезультат
Скрин сайта
Название Антикапча: онлайн сервис распознавания капч и оцифровке изображений
Описание RuCaptcha это сервис распознавания изображений и капч, использующий ручной труд. Используйте API для отправки Ваших капч нашим работникам. Зарабатывайте с нами на распознавании капч.
Ключевые слова распознавание капч, решение капч, обход капч, антикапча, онлайн OCR, anticaptcha, captcha API
Alexa rank
Наличие в web.archive.org http://web.archive.org/web/*/rucaptcha.com
IP сайта 89.108.73.200
Страна Неизвестно
Информация о домене Владелец:
Creation Date: 2013-11-09 21:45:20
Expiration Date: 2021-11-09 21:45:20
Посетители из стран
🇷🇺 Russia(36.7)
🇦🇿 Azerbaijan(17.4)
🇺🇦 Ukraine(12.2)
Система управления сайтом  (CMS) узнать
Доступность сайта проверить
Расстояние до сайта узнать
Информация об IP адресе или домене получить
DNS данные домена узнать
Сайтов на сервере узнать
Наличие IP в спам базах проверить
Хостинг сайта узнать
Проверить на вирусы проверить
Веб-сервер nginx/1.10.1
Картинки38
Ссылки: 46 (внутренних: 34 , внешних: 0)
Время загрузки0.31 сек.
Скорость загрузки244.74 кб/сек.
Объем страницы
html 69541 bytes(88.59%)
images 6422 bytes(8.18%)
css 1521 bytes(1.94%)
js 1014 bytes(1.29%)
всего>78498 bytes 

Получить информер для форума

Если вы хотите показать результаты в каком либо форуме, просто скопируйте нижестоящий код и вставьте в ваше сообщение не изменяя.

[URL=https://2ip.ru/analizator/?url=rucaptcha.com][IMG]https://2ip.ru/analizator/bar/rucaptcha.com.gif[/IMG][/URL]

Отправить картинку на Rucaptcha | Русское сообщество AutoIt

; edited by Alex33, 10.04.2016, rucaptcha
#include-once
;Opt('MustDeclareVars', 1) ; декларирование переменных

; #INDEX# =======================================================================================================================
; Title .........: rucaptcha.com
; AutoIt Version : 3.0
; Language ......: Russian
; Website: ......: http://rucaptcha.com/?action=api
; Description ...: API функции для работы с сервисом разгадывания капчи http://rucaptcha.com/
; Author(s) .....: SERJ
; ===============================================================================================================================

; #CURRENT# =====================================================================================================================
;_antigatecom_balance:     Получение текущего денежного баланса
;_antigatecom_get:         Отправка изображения и получение текста капчи
;_antigatecom_bad:         Пожаловаться на неправильно разгаданный текст
;_antigatecom_stats:       Получение статистику использования аккаунта
;_antigatecom_statsSystem: Статистика системы в реальном времени
; ===============================================================================================================================

; #INTERNAL_USE_ONLY# ===========================================================================================================
;__antigatecom_upload:     Отправка изображения на сервер
;__antigatecom_check:      Получение статуса капчи
;__antigatecom_error:      Перевод текста ошибки на понятный язык
; ===============================================================================================================================

; #FUNCTION# ====================================================================================================================
; Name...........: _antigatecom_balance
; Description ...: Получение текущего денежного баланса
; Syntax.........: _antigatecom_balance($apiKey)
; Parameters ....: $apiKey - ключ аккаунта
; Return values .: Success: баланс
;                  Failure: @error и текст ошибки
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func _antigatecom_balance($apiKey)
  Local $sResp = InetRead('http://rucaptcha.com/res.php?key=' & $apiKey & '&action=getbalance')
  $sResp = BinaryToString($sResp)
  Local $sOut = __antigatecom_error($sResp)
  If $_DEBUG Then ConsoleWrite('--> проверка баланса: ' & $sOut & @LF)
  If StringInStr($sResp, 'ERROR_') Then SetError(1)
  Return $sOut
EndFunc ;==> _antigatecom_balance

; #FUNCTION# ====================================================================================================================
; Name...........: __antigatecom_upload
; Description ...: Отправка изображения на сервер
; Syntax.........: __antigatecom_upload($apiKey, $pathFile)
; Parameters ....: $apiKey - ключ аккаунта
;                  $pathFile - путь до изображения с капчёй
; Return values .: Success: id капчи
;                  Failure: @error и текст ошибки
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func __antigatecom_upload($apiKey, $pathFile)

  ;~~~ проверка существования файла
  If Not FileExists($pathFile) Then
    If $_DEBUG Then ConsoleWrite('--> файл "' & $pathFile & '" не найден' & @LF)
    SetError(1)
    Return 'ERROR_FILE_NOT_FOUND'
  EndIf

  ;~~~ читаем файл капчи
  Local $binFile = FileRead($pathFile)
  If @error Then
    If $_DEBUG Then ConsoleWrite('--> невозможно прочитать файл "' & $pathFile & '"' & @LF)
    SetError(2)
    Return 'ERROR_FILE_NOT_READ'
  EndIf

  ;~~~ определяем тип файла
  Local $ext = StringSplit($pathFile, '.')
  $ext = $ext[$ext[0]]
  Local $ContentType
  Switch $ext
    Case 'jpg'
      $ContentType = 'image/jpeg'
    Case 'gif'
      $ContentType = 'image/gif'
    Case 'png'
      $ContentType = 'image/png'
    Case Else
      If $_DEBUG Then ConsoleWrite('--> не поддерживаемый формат изображения "' & $ext & '"' & @LF)
      SetError(3)
      Return 'ERROR_IMAGE_TYPE_NOT_SUPPORT'
  EndSwitch

  ;~~~ собираем тело пакета
  Local $boundary = '----AFnIn7z0bMWeTdpy' ; задаём разделитель данных в HTTP запросе
  Local $content = '--$boundary' & @LF
  $content &= 'Content-Disposition: form-data; name="method"' & @LF & @LF
  $content &= 'post' & @LF ; метод передачи данных
  $content &= '--' & $boundary & @LF
  $content &= 'Content-Disposition: form-data; name="key"' & @LF & @LF
  $content &= $apiKey & @LF ; ключ
  ;$content &= '--' & $boundary & @LF
  ;$content &= 'Content-Disposition: form-data; name="regsense"' & @LF & @LF
  ;$content &= '1' & @LF ; с учетом регистра
  $content &= '--' & $boundary & @LF
  $content &= 'Content-Disposition: form-data; name="file"; filename="captcha.' & $ext & '"' & @LF
  $content &= 'Content-Type: ' & $ContentType & @LF & @LF
  $content &= $binFile & @LF ; содержимое ФАЙЛА капчи, БЕЗ какого либо кодирования, целиком
  $content &= '--' & $boundary & '--'

  ;~~~ отправка капчи
  Local $oWinHttp = ObjCreate('WinHttp.WinHttpRequest.5.1') ; создаём COM-объект
  With $oWinHttp
    .Open('POST', 'http://rucaptcha.com/in.php', 0) ; создаём соеденение, указываем адрес страницы
    .SetRequestHeader('Content-Type', 'multipart/form-data; boundary=' & $boundary) ; тип отправляемого запроса
    .SetRequestHeader('Content-Length', BinaryLen($binFile)) ; длина запроса
    .Send(StringToBinary($content, 1)) ; отправляем запрос
    Local $sResp = .ResponseText ; получаем ответ
  EndWith

  ;~~~ разбираем ответ отправки
  Dim $idCapcha = StringSplit($sResp, '|') ; парсим ответ
  If $idCapcha[1] = 'OK' Then
    $idCapcha = $idCapcha[2]
    If $_DEBUG Then ConsoleWrite('--> id капчи: ' & $idCapcha & @LF)
    Return $idCapcha
  Else
    Local $sOut = __antigatecom_error($sResp)
    If $_DEBUG Then ConsoleWrite('--> сервер вернул ошибку: ' & $sOut & @LF)
    SetError(4)
    Return $sOut
  EndIf

EndFunc ;==> __antigatecom_upload

; #FUNCTION# ====================================================================================================================
; Name...........: __antigatecom_check
; Description ...: Получение статуса капчи
; Syntax.........: __antigatecom_check($apiKey, $idCaptcha, $secTimeout)
; Parameters ....: $apiKey - ключ аккаунта
;                  $idCaptcha - id капчи
;                  $secTimeout - таймаут проверки капчи (минимум 5 сек.), не обязательно для указания
; Return values .: Success: текст капчи
;                  Failure: @error и текст ошибки
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func __antigatecom_check($apiKey, $idCaptcha, $secTimeout = 5)
  ;If $secTimeout < 5 Then $secTimeout = 5
  Local $sResp
  While 1
    Sleep(1000*$secTimeout)
    $sResp = InetRead('http://rucaptcha.com/res.php?key=' & $apiKey & '&action=get&id=' & $idCaptcha & '&rnd=' & Random())
    $sResp = BinaryToString($sResp)
    Local $textCaptcha = StringSplit($sResp, '|') ; парсим ответ
    If $textCaptcha[1] = 'OK' Then
      $textCaptcha = $textCaptcha[2]
      If $_DEBUG Then ConsoleWrite('--> текст капчи: ' & $textCaptcha & @LF)
      Return $textCaptcha
    ElseIf $sResp = 'CAPCHA_NOT_READY' Then
      If $_DEBUG Then ConsoleWrite('--> капча ещё не распознана' & @LF)
    Else
      Local $sOut = __antigatecom_error($sResp)
      If $_DEBUG Then ConsoleWrite('--> ошибка распознавания капчи: ' & $sOut & @LF)
      SetError(1)
      Return $sOut
    EndIf
  WEnd
EndFunc ;==> __antigatecom_check

; #FUNCTION# ====================================================================================================================
; Name...........: _antigatecom_bad
; Description ...: Пожаловаться на неправильно разгаданный текст
; Syntax.........: _antigatecom_bad($apiKey, $idCaptcha)
; Parameters ....: $apiKey - ключ аккаунта
;                  $idCaptcha - id капчи
; Return values .: Success: 1
;                  Failure: @error и текст ошибки
; Author ........: SERJ
; Modified.......: 17/06/2013
; ===============================================================================================================================
Func _antigatecom_bad($apiKey, $idCaptcha)
  If $_DEBUG Then ConsoleWrite('--> жалуемся на капчу с id #' & $idCaptcha & @LF)
  Local $sResp = InetRead('http://rucaptcha.com/res.php?key=' & $apiKey & '&action=reportbad&id=' & $idCaptcha)
  $sResp = BinaryToString($sResp)
  Local $sOut = __antigatecom_error($sResp)
  If $sResp <> 'OK_REPORT_RECORDED' Then SetError(1)
  Return $sOut
EndFunc ;==> _antigatecom_bad

; #FUNCTION# ====================================================================================================================
; Name...........: _antigatecom_get
; Description ...: Отправка изображения и получение текста капчи
; Syntax.........: _antigatecom_get($apiKey, $pathFile, $secTimeout)
; Parameters ....: $apiKey - ключ аккаунта
;                  $pathFile - путь до изображения с капчёй
;                  $secTimeout - таймаут проверки капчи (минимум 5 сек.), не обязательно для указания
; Return values .: Success: текст капчи
;                  Failure: @error и текст ошибки
; Related .......: __antigatecom_upload, __antigatecom_check
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func _antigatecom_get($apiKey, $pathFile, $secTimeout = 5)

  ;~~~ отправка изображения на сервер
  Local $idCaptcha = __antigatecom_upload($apiKey, $pathFile)
  If @error Then
    If $_DEBUG Then ConsoleWrite('--> ошибка отправки картинки: ' & $idCaptcha & @LF)
    SetError(1)
    Return 'ERROR_UPLOAD'
  EndIf

  If Not IsDeclared('_IDCAPTCHA') Then Global $_IDCAPTCHA
  $_IDCAPTCHA = $idCaptcha ; для того, чтобы можно было жаловаться

  ;~~~ получение текста капчи
  Local $textCaptcha = __antigatecom_check($apiKey, $idCaptcha, $secTimeout)
  If @error Then
    If $_DEBUG Then ConsoleWrite('--> ошибка получения текста капчи: ' & $textCaptcha & @LF)
    SetError(2)
    Return 'ERROR_CHECK'
  EndIf

  Return $textCaptcha
EndFunc ;==> _antigatecom_get

; #FUNCTION# ====================================================================================================================
; Name...........: _antigatecom_stats
; Description ...: Получение статистику использования аккаунта
; Syntax.........: _antigatecom_stats($apiKey, $date)
; Parameters ....: $apiKey - ключ аккаунта
;                  $date - дата, за которую требуется получить статистику (формат ДД.ММ.ГГГГ), не обязательно для указания
; Return values .: Success: текст капчи
;                  Failure: @error и текст ошибки
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func _antigatecom_stats($apiKey, $date = '')
  If Not $date Then $date = @MDAY & '.' & @MON & '.' & @YEAR
  MsgBox(0, '', $date)
  Local $aDate = StringSplit($date, '.')
  $date = $aDate[3] & '-' & $aDate[2] & '-' & $aDate[1]
  Local $sResp = InetRead('http://rucaptcha.com/res.php?key=' & $apiKey & '&action=getstats&date=' & $date)
  $sResp = BinaryToString($sResp)
  Local $sOut = __antigatecom_error($sResp)
  If StringInStr($sResp, 'ERROR_') Then SetError(1)
  Return $sOut
EndFunc ;==> _antigatecom_stats

; #FUNCTION# ====================================================================================================================
; Name...........: _antigatecom_statsSystem
; Description ...: Статистика системы в реальном времени
; Syntax.........: _antigatecom_statsSystem()
; Parameters ....: none
; Return values .: необходимо доработать
; Author ........: SERJ
; Modified.......: 16/06/2013
; ===============================================================================================================================
Func _antigatecom_statsSystem()
  ; waiting:                количество работников ожидающих капчу. Максимально показываемое число - 50.
  ; load:                   процент загрузки работников
  ; minbid:                 минимальная ставка необходимая для прохождения вашей капчи
  ; averageRecognitionTime: среднее время (в секундах) за которое в данный момент разгадываются капчи
  Local $sResp = InetRead('http://rucaptcha.com/load.php')
  $sResp = BinaryToString($sResp)
  Return $sResp
EndFunc ;==> _antigatecom_statsSystem

; #FUNCTION# ====================================================================================================================
; Name...........: __antigatecom_error
; Description ...: Перевод текста ошибки на понятный язык
; Syntax.........: __antigatecom_error($sError)
; Parameters ....: $sError - текст ошибки, возвращаемый сервером
; Return values .: ...
; Author ........: SERJ
; Modified.......: 17/06/2013
; ===============================================================================================================================
Func __antigatecom_error($sError)
  Switch $sError
    Case 'ERROR_WRONG_USER_KEY'
      Return 'Неправильный формат ключа учетной записи (длина не равняется 32 байтам)'
    Case 'ERROR_KEY_DOES_NOT_EXIST'
      Return 'Вы использовали неверный captcha ключ в запросевы использовали неверный captcha ключ в запросе'
    Case 'ERROR_ZERO_BALANCE'
      Return 'Нулевой либо отрицательный баланс'
    Case 'ERROR_NO_SLOT_AVAILABLE'
      Return 'Нет свободных работников в данный момент, попробуйте позже либо повысьте свою максимальную ставку'
    Case 'ERROR_ZERO_CAPTCHA_FILESIZE'
      Return 'Размер капчи которую вы загружаете менее 100 байт'
    Case 'RROR_TOO_BIG_CAPTCHA_FILESIZE'
      Return 'Ваша капча имеет размер более 100 килобайт'
    Case 'ERROR_WRONG_FILE_EXTENSION'
      Return 'Ваша капча имеет неверное расширение, допустимые расширения JPG, JPEG, GIF, PNG'
    Case 'ERROR_IMAGE_TYPE_NOT_SUPPORTED'
      Return 'Невозможно определить тип файла капчи, принимаются только форматы JPG, GIF, PNG'
    Case 'ERROR_IP_NOT_ALLOWED'
      Return 'Запрос с этого IP адреса с текущим ключом отклонен. Пожалуйста смотрите раздел управления доступом по IP'
    Case 'CAPCHA_NOT_READY'
      Return 'Капча еще не распознана, повторите запрос через 1-5 секунд'
    Case 'ERROR_WRONG_ID_FORMAT'
      Return 'Некорректный идентификатор капчи, принимаются только цифры'
    Case 'ERROR_CAPTCHA_UNSOLVABLE'
      Return 'Капчу не смогли разгадать 5 разных работников'
    Case 'OK_REPORT_RECORDED'
      Return 'Жалоба на неверно разгаданную капчу принята'
    Case Else
      Return $sError
  EndSwitch
EndFunc ;==> __antigatecom_error

python-rucaptcha-session-patch · PyPI

Библиотека предназначена для разрабаотчиков ПО и служит для облегчения работы с API сервиса RuCaptcha.

Присутствуют примеры работы с библиотекой.

Используется Python версии 3.6+.

How to install? Как установить?

pip

pip install python-rucaptcha

Source

git clone https://github.com/AndreiDrang/python-rucaptcha.git
cd python-rucaptcha
python setup.py install

По всем вопросам можете писать в Telegram чат.


Последние обновления

v.2.0 — Обновление JSON ответа, ключа с информацией об ошибке(создание собственного списка ошибок с уникальными id). Добавление в errorBody двух ключей: text(текст ошибки) и id(уникальный номер ошибки). Таблица с ошибками и их номерами. Замена errorId и его значений 1/0 на error и логические True(есть ошибка)/False(нет ошибки).

v.2.2.1 — Вынесение методов для получению решений капчи (как синхронного так и асинхронного) в отдельный файл.

v.2.3 — Удаление использования временных файлов(для хранения изображений) и замена их на переменную.

v.2.4 — Добавление callback(pingback) параметра для работы со всеми видами капч. Добавление нового модуля для получения результатов решения капчи с сервера — CallbackClient. В примеры добавлен асинхронный сервер(на aiohttp) для обработки POST-запросов от RuCaptcha, а так же эмулятор RuCaptcha, который высылает те же параметры что и настоящий сервер(подойдёт для тестирования обработки решений капчи).

v.2.5 — Добавление метода для решения ReCaptcha v3. Удаление модуля MediaCaptcha из библиотеки.

v.2.5.3 — Добавление contextmanager ко всем методам решения капчи.

v.2.5.4 — Добавление GeeTest метода. С синхронным и асинхронным исполнением.

v.2.6.3 — Добавление Distil метода. С синхронным и асинхронным исполнением.

v.2.6.4 — Добавление HCaptcha метода. С синхронным и асинхронным исполнением.

v.2.6.5 — Добавление CapyPuzzle метода. С синхронным и асинхронным исполнением.

v.3.0 — Удаление кастомных ошибиок и вывода текста о них.

  1. Замена структуры:
    {
      "errorBody":
        {
          "text": "some text",
          "id": 1
        }
    }
    
  2. На структуру:
    {
      "errorBody": "ERROR_NAME"
    }
    

Будущие обновления

v.4.0 — Переработка классов и методов. Добавление наследований и переиспользования.


Реализованы следующие методы:

0.Работа через callback(pingback).

Структура и принцип работы системы подробно расписан в данной схеме

Краткий пример:

import requests
from python_rucaptcha import ImageCaptcha, RuCaptchaControl, CallbackClient
# Введите ключ от сервиса RuCaptcha, из своего аккаунта
RUCAPTCHA_KEY = ""
# Ссылка на изображения для расшифровки
image_link = ""

# для начала работы нужно зарегистрировать IP/URL(делается с того же IP, который регистрируете):
RuCaptchaControl.RuCaptchaControl(rucaptcha_key=RUCAPTCHA_KEY).additional_methods(action='add_pingback', addr='http://85.255.8.26/')
# проверка зарегистрированных адресов
answer = RuCaptchaControl.RuCaptchaControl(rucaptcha_key=RUCAPTCHA_KEY).additional_methods(action='get_pingback', json=1)
print(answer)

# нужно придумать сложное название очереди(15+ знаков подойдёт) для получения результатов решения капчи
queue_name = 'ba86e77f9007_andrei_drang_7436e744_cute_queue'
# регистрируем очередь на callback сервере
answer = requests.post(f'http://85.255.8.26:8001/register_key', json={'key':queue_name, 'vhost': 'rucaptcha_vhost'})
print(answer.text)

# создаём задание в сервисе RuCaptcha и указываем `pingback` параметр
task_creation_answer = ImageCaptcha.ImageCaptcha(rucaptcha_key=RUCAPTCHA_KEY, 
                                                     pingback=f'85.255.8.26:8001/rucaptcha/image_captcha/{queue_name}', 
                                                    ).captcha_handler(captcha_link=image_link)

print(task_creation_answer)
# Два варианта получения решения: кеш(результат хранится 1 час) и  rabbitmq очередь(результат удаляется после первого чтения)
# подключаемся к серверу и ждём решения капчи из кеша
callback_cache_response = CallbackClient.CallbackClient(task_id=task_creation_answer.get('id')).captcha_handler()
# подключаемся к серверу и ждём решения капчи из RabbitMQ queue
callback_queue_response = CallbackClient.CallbackClient(task_id=task_creation_answer.get('id'), queue_name=queue_name, call_type='queue').captcha_handler()

print(callback_cache_response)
print(callback_queue_response)
Если вы хотите запустить данный callback сервер у себя:

Небольшая инструкция-памятка по шагам.

Установить и запустить веб-приложение, которое будет принимать POST-запросы, парсить их, и совершать прочую, нужную вам, магию.

Пример такого сервера, написанный на aiohttp.

Все тесты можно проводить на локальном сервере, эмулируя POST-запросы от RuCaptcha при помощи локального клиента.

Примеры создания реальных заданий для callback(pingback) способа вы можете посмотреть в папке с примерами, для конкретного метода капчи.


Работа обычным методом — ожидание решения капчи периодическим опросом сервера.

1.Решение капчи-изображения(большие и маленькие).

from python_rucaptcha import ImageCaptcha
# Введите ключ от сервиса RuCaptcha, из своего аккаунта
RUCAPTCHA_KEY = ""
# Ссылка на изображения для расшифровки
image_link = ""
# Возвращается JSON содержащий информацию для решения капчи
user_answer = ImageCaptcha.ImageCaptcha(rucaptcha_key=RUCAPTCHA_KEY).captcha_handler(captcha_link=image_link)

if not user_answer['error']:
	# решение капчи
	print(user_answer['captchaSolve'])
	print(user_answer['taskId'])
elif user_answer['error']:
	# Тело ошибки, если есть
	print(user_answer ['errorBody'])
	print(user_answer ['errorBody'])

2.Решение KeyCaptcha(пазл-капча).

from python_rucaptcha import KeyCaptcha
# Введите ключ от сервиса RuCaptcha, из своего аккаунта
RUCAPTCHA_KEY = ''

answer = KeyCaptcha.KeyCaptcha(rucaptcha_key=RUCAPTCHA_KEY) \
	.captcha_handler(key_params = {
				's_s_c_user_id':15,
                		's_s_c_session_id':'8f460599bebe02cb0dd096b1fe70b089',
                		's_s_c_web_server_sign':'edd2c221c05aece19f6db93a36b42272',
                		's_s_c_web_server_sign2':'15989edaad1b4dc056ec8fa05abc7c9a',
                		'pageurl':'https://www.keycaptcha.com/signup/'
			}
	)

# капча решена верно, ошибка = 0
if not answer['error']:
	# решение капчи
	print(answer['captchaSolve'])
	print(answer['taskId'])
# во время решения капчи возникли ошибки, ошибка = 1
elif answer['error']:
	# Тело ошибки, если есть
	print(answer['errorBody'])

3.Решение ReCaptcha v2.

from python_rucaptcha import ReCaptchaV2
# Введите ключ от сервиса RuCaptcha, из своего аккаунта
RUCAPTCHA_KEY = ""
# G-ReCaptcha ключ сайта
SITE_KEY = ""
# Ссылка на страницу с капчёй
PAGE_URL = ""
# Возвращается JSON содержащий информацию для решения капчи
user_answer = ReCaptchaV2.ReCaptchaV2(rucaptcha_key=RUCAPTCHA_KEY).captcha_handler(site_key=SITE_KEY,
                                                                                   page_url=PAGE_URL)

if not user_answer['error']:
	# решение капчи
	print(user_answer['captchaSolve'])
	print(user_answer['taskId'])
elif user_answer['error']:
	# Тело ошибки, если есть
	print(user_answer ['errorBody'])
	print(user_answer ['errorBody'])

4.Решение ReCaptcha v3.

from python_rucaptcha import ReCaptchaV3
# Введите ключ от сервиса RuCaptcha, из своего аккаунта
RUCAPTCHA_KEY = ""
# G-ReCaptcha ключ сайта
SITE_KEY = ""
# Ссылка на страницу с капчёй
PAGE_URL = ""
# Значение параметра action, которые вы нашли в коде сайта
ACTION = 'verify'
# Требуемое значение рейтинга (score) работника, от 0.1(робот) до 0.9(человечный человек)
MIN_SCORE = 0.4
# Возвращается JSON содержащий информацию для решения капчи
user_answer = ReCaptchaV3.ReCaptchaV3(
                                    rucaptcha_key=RUCAPTCHA_KEY, 
				                    action = ACTION, 
				                    min_score = MIN_SCORE).captcha_handler(
                                                site_key=SITE_KEY,
					  				            page_url=PAGE_URL
                                            )

if not user_answer['error']:
	# решение капчи
	print(user_answer['captchaSolve'])
	print(user_answer['taskId'])
	print(user_answer['user_check'])
	print(user_answer['user_score'])
elif user_answer['error']:
	# Тело ошибки, если есть
	print(user_answer ['errorBody'])
	print(user_answer ['errorBody'])

5.Решение RotateCaptcha(повернуть изображение).

6.Решение текстовой капчи.

from python_rucaptcha import TextCaptcha
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = ''
# Вопрос
text_question = 'Если завтра суббота, то какой сегодня день?'

user_answer = TextCaptcha.TextCaptcha(rucaptcha_key = RUCAPTCHA_KEY).captcha_handler(captcha_text = text_question)

if not user_answer['error']:
	# решение капчи
	print(user_answer['captchaSolve'])
	print(user_answer['taskId'])
elif user_answer['error']:
	# Тело ошибки, если есть
	print(user_answer ['errorBody'])
	print(user_answer ['errorBody'])

7.Решение FunCaptcha.

from python_rucaptcha import FunCaptcha
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = ''

'''
Страница на которой находится FunCaptch: 
https://www.funcaptcha.com/demo
Данные взятые из этой страницы о данной капче:
'''
public_key = 'DE0B0BB7-1EE4-4D70-1853-31B835D4506B'
pageurl = 'https://www.funcaptcha.com/demo'

answer = FunCaptcha.FunCaptcha(rucaptcha_key = RUCAPTCHA_KEY).captcha_handler(public_key=public_key, page_url=pageurl)

if not answer['error']:
    # решение капчи
    print(answer['captchaSolve'])
    print(answer['taskId'])
elif answer['error']:
    # Тело ошибки, если есть
    print(answer ['errorBody'])

8.Модуль для получения инофрмации о балансе аккаунта и отправке жалоб.

from python_rucaptcha.RuCaptchaControl import RuCaptchaControl
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = ''

JsSha1 = "af2d0557c23ff2d8f40ccf4bec57e480704634e9"
JsUri = "http://www.targetwebsite.com/pvvhnzyazwpzgkhv.js"
JsData = "IWZ1bmN0fewfwefwefwef9905j0g4905jh9046hj3cpCg=="

answer = RuCaptchaControl(rucaptcha_key=RUCAPTCHA_KEY).additional_methods(
            action="getbalance"
        )

if not answer["error"]:
    print("Your balance is: ", answer["serverAnswer"], " rub.")

elif answer["error"]:
    # Тело ошибки, если есть
    print(answer["errorBody"])

# Пример отправки жалобы на неправильно решённую капчу под ID "666"
wrong_captcha_id = 666

answer = RuCaptchaControl(rucaptcha_key=RUCAPTCHA_KEY).additional_methods(
            action="reportbad", id=wrong_captcha_id
        )

# Если заявка принята
if not answer["error"]:
    print("Заявка принята.")

# Если возникла ошибка
elif answer["error"]:
    print(answer["errorBody"])

9.Решение HCaptcha.

from python_rucaptcha.HCaptcha import HCaptcha
RUCAPTCHA_KEY = ''

website_link = "https://secure2.e-konsulat.gov.pl/Uslugi/RejestracjaTerminu.aspx?IDUSLUGI=1&IDPlacowki=94"
data_sitekey = "39fccce0-e3e3-4f9d-a942-ea415c102beb"

answer = HCaptcha(rucaptcha_key=RUCAPTCHA_KEY).captcha_handler(
    site_key=data_sitekey, page_url=website_link
)

if not answer['error']:
    # решение капчи
    print(answer['captchaSolve'])
    print(answer['taskId'])
elif answer['error']:
    # Тело ошибки, если есть
    print(answer ['errorBody'])

10.Решение CapyPuzzle.

from python_rucaptcha.CapyPuzzle import CapyPuzzle
RUCAPTCHA_KEY = ''

captchakey="PUZZLE_Cme4hZLjuZRMYC3uh24C52D3uNms5w"
page_url="https://www.capy.me/account/register/"

answer = CapyPuzzle(rucaptcha_key=RUCAPTCHA_KEY).captcha_handler(
            captchakey=captchakey, page_url=page_url
        )

if not answer['error']:
    # решение капчи
    print(answer['captchaSolve'])
    print(answer['taskId'])
elif answer['error']:
    # Тело ошибки, если есть
    print(answer ['errorBody'])

Кроме того, для тестирования различных типов капчи предоставляется специальный сайт, на котором собраны все имеющиеся типы капчи, с удобной системой тестирования ваших скриптов.


Errors description. Описания ошибок

В обоих ссылках находятся валидные описания ошибок

  1. https://rucaptcha.com/api-rucaptcha#in_errors
  2. https://rucaptcha.docs.apiary.io/#reference/2

XEvil + ZennoPoster: пытаемся заработать на RuCaptcha.Com!

Привет.

Попытаться — потому что rucaptcha банит практически все аккаунты при выводе.

Конкуренция, которая только усиливается, так же не дает заработать.

Так же не стоит забывать про ботовотов, которые работают через официальное api для ботов. (но здесь не выгодно, и не каждый сможет потянуть условия, которые нужны для работы)

Я потратил около недели, только для того, чтобы понять как генерируется один параметр а запросе.

Еще около недели заняло написание шаблона. Тогда я еще плохо разбирался в c#, писал на кубиках.

Сам шаблон выглядел как-то так

Он не учитывал множество нюансов, но тогда это было неважно. Сразу после запуска, в течении недели, я заработал около 20 000 р. 

На радостях, я купил 2 сервера для XEvil -а, нарегистрировал около 1000 аккаунтов, и запустил шаблон в работу в 100 потоков.

Но сотрудники rucaptcha как то вычислили мои акки, и забанили их(

Я попытался выяснить причину бана, т.к. в правилах ничего не было насчет ботов и кол-ва аккаунтов. На что мне ответили, что не дают так зарабатывать, потому-что простым рабочим не будет работы. Однако открыли доступ к апи для работы с ботами. 

Но для того, чтобы там работать, я должен был решать не менее 200 рекаптч в минуту. Что даже в 100 потоков, было невозможным. И заработок там за 1000 решенных рекаптч, 30 р, т.е. в 2 раза ниже, чем они платят простому работнику.

В общем промучавшись 1 месяц, кроме тех 20 000 я заработал еще 10 000. Потом аккаунты начали банить даже до вывода. Видимо как то палился сам шаблон, может паузы, может еще что — я не вникал и забросил этим заниматься.

Во второй раз я попробовал где-то спустя 3 месяца, т.е. в начале осени.

Я немного подучил c# и думал куда бы применить новообретенные знания)

Написав шаблон, я снова зарегистрировал около 200 аккаунтов и запустил шаблон в работу.

Но.. Все акки забанили до вывода((, и снова забил.

Когда на http://www.botmasterru.com/ объявили о конкурсе статей, я решил реанимировать шаблон. Он как раз годится для участия.

Полностью переписав шаблон, и запустив в работу, лег спать, будучи уверенным, что все будет хорошо. Однако, именно в тот момент, гугл снова что-то поменял, и XEvil начал сыпать ошибками(( Все акки ушли в бан((

Оказывается, rucaptcha закрутила гайки, и на данный момент аккаунты уходят в бан, даже если просто пропускать каптчи. А так, как там идет еще и fancaptcha, которую XEvil, к сожалению не решает, и ее приходится пропускать, то именно большое кол-во пропусков, и помогли забанить все аккаунты((

Когда XEvil починили (спс Botmaster за очень быстрые обновления), я за 1 день, работая в 15 потоков(больше не вытягивает комп), заработал около 1 000 р. 

ВАЖНО

  • Я не гарантирую, что вы сможете что-либо заработать, т.к. шаблон нужно постоянно допиливать. 
  • В шаблоне есть множество ошибок, но он работает.
  • Может получится так, что вы просто потеряете свое время и деньги. Скорее всего так и получится.
  • Я не несу ответственности за все ваши действия
  • Шаблон выложен в образовательных целях как есть.
  • Вы можете делать с ним что хотите (кроме продаж).
  • Я его больше дорабатывать не буду (по крайней мере не сейчас)
  • Используя его, вы все риски берете на себя.

Как вы догадываетесь после публикации данной статьи, много людей попробуют данный шаблон в работе. И начнут запускать на серверах в 100 потоков. Значит конкуренция усилится в разы. Скорее всего, рукаптча еще больше закрутит гайки.

Для работы вам понадобятся:

  • качественные прокси, 
  • аккаунты rucaptcha, зарегистрированные в качестве работника, 
  • XEvil 4 с возможностью решения recaptcha2, 
  • ZennoPoster желательно PRO версия.

Настроить XEvil. в RecapModule.ini выставить следующие параметры

GetRespCode=1

WaitTimeout=160

RowTimeout=160

(Сейчас rucaptcha на решение дает 150 сек.)

Прописать в настройках данные для доступа к XEvil.

В настройках выбрать прокси (это только для аккаунтов, чтоб не было много обращений к апи rucaptcha через 1 IP)

В файл work.txt записать ключи работника rucaptcha построчно.

Добавить .dll в папку с установленным ZennoPoster -ом, в ExternalAssemblies

Добавить шаблон в работу.

Выставить желаемое кол-во потоков(не рекомендую больше 20)

Запустить на выполнение.

Повторюсь:

Я не несу ответственности, за потраченное вами время, за то что у вас что-то не получилось, или что у вас что-то не работает.

Скачать шаблон

GeeTest · AndreiDrang/python-rucaptcha Wiki · GitHub

Решение GeeTest-капчи при помощи библиотеки

Стандартный пример

Найти следующие параметры на странице сайта с капчей (обычно их можно найти внутри функции initGeetest):

  1. gt — публичный ключ сайта (статический)
  2. challenge — динамический ключ задания
  3. api_server — домен API (обязателен для некоторых сайтов)
  4. pageurl — полный URL страницы с капчей GeeTest

Статичные параметры передаются при инициализации класса. Параметр, который меняется каждый раз при новой капче(challenge) должен передаваться непосредственно в метод отвечающий за начало решения капчи captcha_handler.

from python_rucaptcha.GeeTest import GeeTest

gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0', 
              gt='qt_key_123', 
              api_server='api-na.geetest.com', 
              pageurl='https://www.geetest.com/en/')
result = gee.captcha_handler(challenge='some_challenge')

С contextmanager

Тот же самый принцип сохраняется и при решении капчи с использованием contextmanager.

from python_rucaptcha.GeeTest import GeeTest

with GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0', 
             gt='qt_key_123', 
             api_server='api-na.geetest.com', 
             pageurl='https://www.geetest.com/en/') as gee:
    result = gee.captcha_handler(challenge='some_challenge')

Дополнительные параметры

При инициализации класса ему можно передать дополнительные параметры описанные в таблице: Список параметров GET/POST запроса к http://rucaptcha.com/in.php.

К примеру добавим переменную header_acao из таблицы:

from python_rucaptcha.GeeTest import GeeTest

gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0', 
              gt='qt_key_123', 
              api_server='api-na.geetest.com', 
              pageurl='https://www.geetest.com/en/',
              header_acao=1)
result = gee.captcha_handler(challenge='some_challenge')

Так же дополнительные параметры можно передать и в вызываемый для решения капчи метод captcha_handler. К примеру добавим переменную header_acao из таблицы Список параметров GET-запроса к http://rucaptcha.com/res.php:

from python_rucaptcha.GeeTest import GeeTest

gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0', 
              gt='qt_key_123', 
              api_server='api-na.geetest.com', 
              pageurl='https://www.geetest.com/en/')
result = gee.captcha_handler(challenge='some_challenge', header_acao=1)
Декапчер

· PyPI

## Установка

Используйте команду:

« shell
pip install -e git: //github.com/lorien/decaptcher#egg=decaptcher
« `

## Usage

### Пример бэкэнда Twocaptcha

Веб-сайт службы https://2captcha.com?from=3019071

« python
из службы импорта декаптчера

solver = Service (‘twocaptcha’, api_key = ‘2captcha.com API HERE’)
print ( solver.process_file (‘captcha.png’))
# или
с открытым (‘captcha.png ‘) как inp:
print (solver.process (inp.read ()))
# или
с open (‘ captcha.png ‘) как inp:
print (solver.process (inp))
# Вы можете передать дополнительные параметры (описано в документации 2captcha)
# using task_options arguments:
print (solver.process_file (‘captcha.png’, task_options = {
‘regsense’: 1,
‘min_len’: 4,
}))

«

### Решение пользовательского типа капчи с использованием 2captcha.com

Библиотека Decaptcher поддерживает любые пользовательские капчи, поддерживаемые 2captcha.com сервис.
Просто используйте аргумент `task_options`, чтобы передать все необходимые параметры.
Например, для решения текстовой капчи выполните:
« python
из службы импорта декаптчера

solver = Service (‘twocaptcha’, api_key = ‘2captcha.com API ЗДЕСЬ’)
print (solver.process (task_options = {
‘lang’: ‘en’,
‘textcaptcha’: ‘Название первого дня недели’,
}))
«

### Получение идентификатора captcha в решении

Чтобы получить идентификатор catpcha pass ` verbose = True для метода process:

« python
solver = Service (‘twocaptcha’, api_key = ‘2captcha.com API ЗДЕСЬ ‘)
print (solver.process_file (‘ captcha.png ‘, verbose = True))
« `

Вы получите результат вроде:
` `python
{» task_id «:» captcha ID » , «result»: «captcha text»}
«

### Rucaptcha Backend Example

Веб-сайт службы https://rucaptcha.com?from=3019071

« `python
из службы импорта декаптчей

solver = Service (‘rucaptcha’, api_key = ‘RUCAPTCHA_KEY’)
print (solver.process_file (‘captcha.png’))
«

### Antigate Backend Example

Веб-сайт службы http: // getcaptchasolution.com / ijykrofoxz

« python
из службы импорта decaptcher

solver = Service (‘antigate’, api_key = ‘ANTIGATE_KEY’)
print (solver.process_file (‘captcha.png’))
«

### Пример бэкэнда браузера

Бэкэнд браузера просто отображает капчу в браузере по умолчанию и ждет, когда вы введете решение в консоли.

« « python
из службы импорта decaptcher

solver = Service (‘browser’)
print (solver.process_file (‘captcha.png’))
« `

Rails Сгенерировать проверочный код с помощью rucaptcha

драгоценный камень ‘rucaptcha’, ‘~> 2.4 ‘

войти страница

  
<% = rucaptcha_input_tag (класс: 'form-control', заполнитель: 'Введите проверочный код', обязательно: true)%>
<% = rucaptcha_image_tag (alt: 'Проверочный код, нажмите "Обновить", onclick: "this.src =' / rucaptcha /? rand = '+ Math.случайный () ")%>

Аутентификация при входе

  если! Verify_rucaptcha?
             Msg_action ('Неверный код подтверждения')
      вернуть redirect_to message_path
    конец  

Кэш Redis

драгоценный камень ‘redis’, ‘~> 4.1’

Добавить конфигурацию кеша в config / application.rb

  config.cache_store =: redis_cache_store, {url: Rails.configuration.application ['REDIS_URL']}  

Добавить rucaptcha.rb в каталоге config / initializers

  RuCaptcha.configure do
  # Цветовой стиль, по умолчанию:: colorful, позволяет: [: colorful,: black_white]
  # self.style =: colorful
  # Срок действия пользовательского кода капчи, если нужно, по умолчанию: 2 минуты
  # self.expires_in = 120
  # [Требование / Важно]
  # Хранить код Captcha, где эта конфигурация больше похожа на Rails config.cache_store
  # по умолчанию: читать информацию о конфигурации из `Rails.application.config.cache_store`
  # Но RuCaptcha требует cache_store не в [: null_store,: memory_store,: file_store]
     # default: будет считывать ту же информацию о конфигурации из cache_store, сконфигурированного Rails, и пытаться сохранить символы кода подтверждения в работоспособном виде.# Но если это [: null_store,: memory_store,: file_store], вы можете настроить cache_store для RuCaptcha отдельно со следующими элементами конфигурации.
  self.cache_store =: redis_cache_store
     # Если вы хотите отключить предупреждение cache_store, установите для него значение true, по умолчанию - false
  # self.skip_cache_store_check = true
  # Длина символов, по умолчанию: 5, допускает: [3–7]
  # self.length = 5
  # включить / отключить зачеркивание.
  # self.strikethrough = true
  # включить / отключить стиль контура, для жесткого режима
  # себя.контур = ложь
конец  

rucaptcha.com — urlscan.io

ПОЛУЧИТЬ
H / 1.1
200
ОК
Первичный запрос Набор cookie / Показать ответ
rucaptcha.com /
Цепочка переадресации
  • http://rucaptcha.com/
  • https://rucaptcha.com/
59 КБ
15 КБ
331 мс
198 мс
Документ
текст / HTML
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
бутстрап.min.css
rucaptcha.com/template/design/css/
119 КБ
25 КБ
71 мс
69 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
bootstrap_col_5.css
rucaptcha.com/template/design/css/
13 КБ
2 КБ
139 мс
64 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
кв.css
rucaptcha.com/template/design/css/
6 КБ
2 КБ
176 мс
58 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
jquery.formstyler.css
rucaptcha.com/template/design/css/
15 КБ
4 КБ
180 мс
62 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
font-awesome.min.css
rucaptcha.com/template/design/css/
28 КБ
8 КБ
182 мс
65 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
h3
200
css? family = Open + Sans: 300,400,400i, 600,700,700i, 800,800i
шрифты.googleapis.com/
20 КБ
1 КБ
17 мс
15 мс
Таблица стилей
текст / CSS
2a00: 1450: 4001: 81e :: 200a
GOOGLE
Общие
Полный URL
https: // fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700,700i,800,800i
Запрошено
Хост : rucaptcha.com
URL : https://rucaptcha.com/
Протокол
h3
Безопасность
TLS 1.3, , AES_128_GCM
Сервер
2a00: 1450: 4001: 81e :: 200a Франкфурт-на-Майне, германия, ASN15169 (GOOGLE, США),
Обратный DNS
Программное обеспечение
ESF /
Хэш ресурса
8301a7fb13a7a0c7a76f331d7e25810076462c37304c9a5b09646ecf06461780
Заголовки безопасности
Имя Значение
Строгая транспортная безопасность макс. Возраст = 31536000
X-Content-Type-Options носнифф
Опции X-Frame SAMEORIGIN
X-Xss-Protection 0
ПОЛУЧИТЬ
H / 1.1
200
ОК
style.css
rucaptcha.com/template/design/css/
33 КБ
9 КБ
185 мс
68 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
Обновить.css
rucaptcha.com/template/design/css/
86 КБ
27 КБ
236 мс
119 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
cms.css
rucaptcha.com/template/design/css/
64 КБ
16 КБ
208 мс
69 мс
Таблица стилей
текст / CSS
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
jquery.мин. js Показать ответ
rucaptcha.com/template/new/d/
95 КБ
40 КБ
278 мс
103 мс
Скрипт
приложение / x-javascript
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
функция.js Показать ответ
rucaptcha.com/template/design/js/
901 B
1 КБ
237 мс
58 мс
Скрипт
приложение / x-javascript
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
rucaptcha_logo_w.svg
rucaptcha.com/template/design/img/
4 КБ
4 КБ
63 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
для клиента.svg
rucaptcha.com/template/design/img/svg/
4 КБ
4 КБ
67 мс
62 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
001.svg
rucaptcha.com/template/design/img/svg/
2 КБ
2 КБ
75 мс
70 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
002.svg
rucaptcha.com/template/design/img/svg/
1 КБ
2 КБ
75 мс
71 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
003.svg
rucaptcha.com/template/design/img/svg/
1 КБ
1 КБ
151 мс
76 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
forworker.svg
rucaptcha.com/template/design/img/svg/
7 КБ
7 КБ
150 мс
96 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
004.svg
rucaptcha.com/template/design/img/svg/
1 КБ
1 КБ
84 мс
63 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
005.svg
rucaptcha.com/template/design/img/svg/
1 КБ
2 КБ
150 мс
84 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
006.svg
rucaptcha.com/template/design/img/svg/
1 КБ
2 КБ
151 мс
69 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
human_img.PNG
rucaptcha.com/template/design/img/
13 КБ
13 КБ
67 мс
67 мс
Изображение
изображение / png
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_python.svg
rucaptcha.com/template/design/img/svg/language/
3 КБ
4 КБ
64 мс
63 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_php.svg
rucaptcha.com/template/design/img/svg/language/
1 КБ
2 КБ
60 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_js.svg
rucaptcha.com/template/design/img/svg/language/
1 КБ
2 КБ
63 мс
61 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_go.svg
rucaptcha.com/template/design/img/svg/language/
2 КБ
2 КБ
66 мс
64 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_c.svg
rucaptcha.com/template/design/img/svg/language/
2 КБ
2 КБ
69 мс
68 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
logo_ruby.svg
rucaptcha.com/template/design/img/svg/language/
4 КБ
4 КБ
73 мс
71 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_xseon.svg
rucaptcha.com/template/design/img/svg/soft/
2 КБ
2 КБ
74 мс
73 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_seoautopilot.svg
rucaptcha.com/template/design/img/svg/soft/
2 КБ
2 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_rankerx.svg
rucaptcha.com/template/design/img/svg/soft/
4 КБ
4 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_keycollector.svg
rucaptcha.com/template/design/img/svg/soft/
2 КБ
2 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_gsa.svg
rucaptcha.com/template/design/img/svg/soft/
2 КБ
3 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
soft_bablo.svg
rucaptcha.com/template/design/img/svg/soft/
2 КБ
2 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_captcha.svg
rucaptcha.com/template/design/img/svg/captcha_type/
3 КБ
3 КБ
59 мс
59 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_recaptchav2.svg
rucaptcha.com/template/design/img/svg/captcha_type/
2 КБ
2 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_recaptchav2inv.svg
rucaptcha.com/template/design/img/svg/captcha_type/
2 КБ
3 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_recaptchav3.svg
rucaptcha.com/template/design/img/svg/captcha_type/
2 КБ
3 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_key.svg
rucaptcha.com/template/design/img/svg/captcha_type/
2 КБ
2 КБ
59 мс
59 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_geetest.svg
rucaptcha.com/template/design/img/svg/captcha_type/
2 КБ
2 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_capy.svg
rucaptcha.com/template/design/img/svg/captcha_type/
3 КБ
3 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
type_funcaptcha.svg
rucaptcha.com/template/design/img/svg/captcha_type/
3 КБ
3 КБ
59 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
counter_user_id.php
rucaptcha.com/cms_method/
43 Б
378 Б
61 мс
61 мс
Изображение
изображение / gif
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
med_mail.svg
rucaptcha.com/template/design/img/
939 B
1 КБ
58 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
платежи.PNG
rucaptcha.com/template/design/img/
10 КБ
10 КБ
61 мс
61 мс
Изображение
изображение / png
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
rucaptcha_logo_g.svg
rucaptcha.com/template/design/img/
4 КБ
4 КБ
59 мс
59 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
jquery.formstyler.min.js Показать ответ
rucaptcha.com/template/design/js/
19 КБ
6 КБ
60 мс
59 мс
Скрипт
приложение / x-javascript
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
бутстрап.мин. js Показать ответ
rucaptcha.com/template/design/js/
35 КБ
11 КБ
61 мс
61 мс
Скрипт
приложение / x-javascript
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
общий.js Показать ответ
rucaptcha.com/template/design/js/
2 КБ
863 B
71 мс
66 мс
Скрипт
приложение / x-javascript
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
med_login_w.svg
rucaptcha.com/template/design/img/svg/
1 КБ
1 КБ
81 мс
60 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
main_bg.PNG
rucaptcha.com/template/design/img/
42 КБ
42 КБ
81 мс
68 мс
Изображение
изображение / png
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
В.svg
rucaptcha.com/template/design/img/svg/
937 B
1 КБ
66 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
С.svg
rucaptcha.com/template/design/img/svg/
1 КБ
1 КБ
74 мс
58 мс
Изображение
изображений / svg + xml
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
h3
200
mem8YaGs126MiZpBA-UFUZ0bf8pkAp6a.woff2
fonts.gstatic.com/s/opensans/v17/
5 КБ
6 КБ
6 мс
5 мс
Шрифт
шрифт / woff2
2a00: 1450: 4001: 818 :: 2003
GOOGLE
ПОЛУЧИТЬ
h3
200
mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2
fonts.gstatic.com/s/opensans/v17/
9 КБ
9 КБ
7 мс
6 мс
Шрифт
шрифт / woff2
2a00: 1450: 4001: 818 :: 2003
GOOGLE
ПОЛУЧИТЬ
H / 1.1
200
ОК
rubble.otf
rucaptcha.com/template/main/css/
5 КБ
5 КБ
90 мс
58 мс
Шрифт
приложение / поток октетов
89.108.73.200
AGAVA3
ПОЛУЧИТЬ
H / 1.1
200
ОК
;% D0% 90% D0% BD% D1% 82% D0% B8% D0% BA% D0% B0% D0% BF% D1% 87% D0% B0:% 20% D0% BE% D0% BD% D0 % BB% D0% B0% D0% B9% D0% BD% 20% D1% 81% D0% B5% D1% 80% D0% B2% D0% B8% D1% 81% 20% D1% 80% D0% B0 % D1% 81% D0% BF% D0% BE% D0% B7% D0% BD% D0% B0% D0% B2% D0% B0… Показать ответ
counter.megaindex.ru/core.js?t;;1600*1200;https%3A//rucaptcha.com/
423 Б
615 Б
359 мс
58 мс
Скрипт
текст / JavaScript
89.108.127.211
AGAVA3
Общие
Полный URL
https: // counter.megaindex.ru/core.js?t;;1600*1200;https%3A//rucaptcha.com/;%D0%90%D0%BD%D1%82%D0%B8%D0%BA%D0%B0% D0% BF% D1% 87% D0% B0:% 20% D0% BE% D0% BD% D0% BB% D0% B0% D0% B9% D0% BD% 20% D1% 81% D0% B5% D1 % 80% D0% B2% D0% B8% D1% 81% 20% D1% 80% D0% B0% D1% 81% D0% BF% D0% BE% D0% B7% D0% BD% D0% B0% D0 % B2% D0% B0% D0% BD% D0% B8% D1% 8F% 20% D0% BA% D0% B0% D0% BF% D1% 87% 20% D0% B8% 20% D0% BE% D1 % 86% D0% B8% D1% 84% D1% 80% D0% BE% D0% B2% D0% BA% D0% B5% 20% D0% B8% D0% B7% D0% BE% D0% B1% D1 % 80% D0% B0% D0% B6% D0% B5% D0% BD% D0% B8% D0% B9; 6
Запрошено
Хост : rucaptcha.com
URL : https://rucaptcha.com/
Протокол
HTTP / 1.1
Безопасность
TLS 1.2, ECDHE_RSA, AES_128_GCM
Сервер
89.108.127.211 , Российская Федерация, ASN43146 (AGAVA3, RU),
Обратный DNS
u8825.col.agava.net
Программное обеспечение
nginx / 1.4.4 / PHP / 5.5.8
Хэш ресурса
92e44701ad0e17f7d63dbb5adfab981f769ceb231d379a210874150bd8bfd381
ПОЛУЧИТЬ
H / 1.1
200
ОК
;% D0% 90% D0% BD% D1% 82% D0% B8% D0% BA% D0% B0% D0% BF% D1% 87% D0% B0:% 20% D0% BE% D0% BD% D0 % BB% D0% B0% D0% B9% D0% BD% 20% D1% 81% D0% B5% D1% 80% D0% B2% D0% B8% D1% 81% 20% D1% 80% D0% B0 % D1% 81% D0% BF% D0% BE% D0% B7% D0% BD% D0% B0% D0% B2% D0% B0 … Показать ответ
прилавок.megaindex.ru/counter.js?t;;1600*1200;https%3A//rucaptcha.com/
0
501 В
176 мс
61 мс
Скрипт
приложение / javascript
89.108.127.211
AGAVA3
Общие
Полный URL
https: // counter.megaindex.ru/counter.js?t;;1600*1200;https%3A//rucaptcha.com/;%D0%90%D0%BD%D1%82%D0%B8%D0%BA%D0%B0% D0% BF% D1% 87% D0% B0:% 20% D0% BE% D0% BD% D0% BB% D0% B0% D0% B9% D0% BD% 20% D1% 81% D0% B5% D1 % 80% D0% B2% D0% B8% D1% 81% 20% D1% 80% D0% B0% D1% 81% D0% BF% D0% BE% D0% B7% D0% BD% D0% B0% D0 % B2% D0% B0% D0% BD% D0% B8% D1% 8F% 20% D0% BA% D0% B0% D0% BF% D1% 87% 20% D0% B8% 20% D0% BE% D1 % 86% D0% B8% D1% 84% D1% 80% D0% BE% D0% B2% D0% BA% D0% B5% 20% D0% B8% D0% B7% D0% BE% D0% B1% D1 % 80% D0% B0% D0% B6% D0% B5% D0% BD% D0% B8% D0% B9; 6
Запрошено
Хост : счетчик.megaindex.ru
URL : https://counter.megaindex.ru/core.js?t;;1600*1200;https%3A//rucaptcha.com/;%D0%90%D0%BD%D1% 82% D0% B8% D0% BA% D0% B0% D0% BF% D1% 87% D0% B0:% 20% D0% BE% D0% BD% D0% BB% D0% B0% D0% B9% D0 % BD% 20% D1% 81% D0% B5% D1% 80% D0% B2% D0% B8% D1% 81% 20% D1% 80% D0% B0% D1% 81% D0% BF% D0% BE % D0% B7% D0% BD% D0% B0% D0% B2% D0% B0% D0% BD% D0% B8% D1% 8F% 20% D0% BA% D0% B0% D0% BF% D1% 87 % 20% D0% B8% 20% D0% BE% D1% 86% D0% B8% D1% 84% D1% 80% D0% BE% D0% B2% D0% BA% D0% B5% 20% D0% B8 % D0% B7% D0% BE% D0% B1% D1% 80% D0% B0% D0% B6% D0% B5% D0% BD% D0% B8% D0% B9; 6
Протокол
HTTP / 1.1
Безопасность
TLS 1.2, ECDHE_RSA, AES_128_GCM
Сервер
89.108.127.211 , Российская Федерация, ASN43146 (AGAVA3, RU),
Обратный DNS
u8825.col.agava.net
Программное обеспечение
nginx / 1.4.4 / PHP / 5.5.8
Хэш ресурсов
e3b0c44298fc1c149afbf4c8996fb
ae41e4649b934ca495991b7852b855

декаптер 0.0.3 на PyPI — Libraries.io

Установка

Используйте команду:

 pip install -e git: //github.com/lorien/decaptcher#egg=decaptcher 

Использование

Пример бэкэнда Twocaptcha

Сайт службы

https://2captcha.com?from=3019071

 от Службы импорта декаптеров

solver = Service ('twocaptcha', api_key = '2captcha.com API ЗДЕСЬ')
печать (solver.process_file ('captcha.png'))
# или
с open ('captcha.png') как inp:
    print (solver.process (inp.читать()))
# или
с open ('captcha.png') как inp:
    печать (solver.process (inp))
# Вы можете передать дополнительные параметры (описано в документации 2captcha)
# используя аргументы task_options, например:
print (solver.process_file ('captcha.png', task_options = {
    'regsense': 1,
    'min_len': 4,
}))
 

Решение кастомного типа капчи с помощью 2captcha.com

Библиотека

Decaptcher поддерживает любые пользовательские капчи, поддерживаемые сервисом 2captcha.com. Просто используйте аргумент task_options , чтобы передать все необходимые параметры.Например, чтобы разгадать текстовую капчу, выполните:

 от Службы импорта декаптеров

solver = Service ('twocaptcha', api_key = '2captcha.com API ЗДЕСЬ')
print (solver.process (task_options = {
    'lang': 'en',
    'textcaptcha': 'Название первого дня недели',
})) 

Получение идентификатора капчи по решению

Чтобы получить идентификатор catpcha, пройдите verbose = True с на process method:

 solver = Service ('twocaptcha', api_key = '2captcha.com API ЗДЕСЬ')
print (solver.process_file ('captcha.png ', verbose = True)) 

Вы получите результат вроде:

 {"task_id": "ID captcha", "result": "captcha text"} 

Пример бэкэнда Rucaptcha

Сайт сервиса

https://rucaptcha.com?from=3019071

 от Службы импорта декаптеров

solver = Сервис ('rucaptcha', api_key = 'RUCAPTCHA_KEY')
print (solver.process_file ('captcha.png')) 

Пример бэкэнд-антивируса

Веб-сайт службы

http://getcaptchasolution.com/ijykrofoxz

 от Службы импорта декаптеров  solver = Сервис ('antigate', api_key = 'ANTIGATE_KEY')
печать (решатель.

Оставьте комментарий