示例#1
0
def captcha_solve(captcha_link):
    from python_rucaptcha import ImageCaptcha,RuCaptchaControl
    answer = RuCaptchaControl.RuCaptchaControl(
        rucaptcha_key=RUCAPTCHA_KEY
    ).additional_methods(action="getbalance")
    print("Checking Rucaptcha balance: ", answer['serverAnswer'])
    image_link = captcha_link
    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'])
        return user_answer['captchaSolve']
    elif user_answer['error']:
        # Тело ошибки, если есть
        print(user_answer['errorBody']['text'])
        print(user_answer['errorBody']['id'])
        return None
if __name__ == '__main__':
    loop = asyncio.new_event_loop()
    loop.run_until_complete(run())
    loop.close()
"""
Callback пример
"""
# нужно передать IP/URL ранее зарегистрированного сервера
server_ip = '85.255.8.26'
# и по желанию - порт на сервере который слушает ваше веб-приложение
server_port = 8001
# регистрация нового домена для callback/pingback
answer = RuCaptchaControl.RuCaptchaControl(
    rucaptcha_key=RUCAPTCHA_KEY).additional_methods(
        action='add_pingback',
        addr=f'http://{server_ip}:{server_port}/',
        json=1)
print(answer)

# нужно придумать ЛЮБОЕ сложное название очереди(15+ знаков подойдёт)
queue_name = 'ba86e77f9007_andrei_drang_7436e7_key_captcha_442674_cute_queue'
# регистрируем очередь на callback сервере
answer = requests.post(f'http://{server_ip}:{server_port}/register_key',
                       json={
                           'key': queue_name,
                           'vhost': 'rucaptcha_vhost'
                       })

# если очередь зарегистрирована
if answer.text == 'OK':
示例#3
0
from python_rucaptcha import RuCaptchaControl
"""
Этот пример показывает работу модуля управления аккаунтом RuCaptcha.
Присутствует возможность получить информацию о балансе средств и отправить жалобу на неверно решённую капчу.
"""
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = ""

# пример получения информации о балансе
answer = RuCaptchaControl.RuCaptchaControl(
    rucaptcha_key=RUCAPTCHA_KEY).additional_methods(action='getbalance')
"""
answer - это JSON строка с соответствующими полями:

serverAnswer - ответ сервера при использовании RuCaptchaControl(баланс/жалобы и т.д.)
taskId - находится Id задачи на решение капчи, можно использовать при жалобах и прочем,
error - False - если всё хорошо, True - если есть ошибка,
errorBody - полная информация об ошибке: 
    {
        text - Развернётое пояснение ошибки
        id - уникальный номер ошибка в ЭТОЙ бибилотеке
    }
"""

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

elif answer['error']:
    # Тело ошибки, если есть
    print(answer['errorBody'])
示例#4
0
					# решение капчи
					# print(user_answer['captchaSolve'])
					# user_answer['taskId']
					apivk1 = req.url_check(login, password, idstr, user_answer['captchaSolve'])
					if('access_token' in apivk1):
						save.write(apivk1['access_token'] + '\r\n')
						valid += 1
					else:
						if(apivk1['error'] == 'need_captcha'):
							err += 1
				elif user_answer['errorId'] == 1:
					# Тело ошибки, если есть
					print(user_answer['taskId'])
					print(user_answer['errorBody'])
					time.sleep(5)
					answer = RuCaptchaControl.RuCaptchaControl(rucaptcha_key = RUCAPTCHA_KEY).additional_methods(action = 'get', id = user_answer['taskId'])
					apivk2 = req.url_check(login, password, idstr, answer['serverAnswer'])
					if('access_token' in apivk2):
						save.write(apivk2['access_token'] + '\r\n')
						valid += 1
					else:
						if(apivk2['error'] == 'need_captcha'):
							err += 1
				os.remove(captcha_file)
		req.clearConsole()
		i += 1
		# Get balance
		answer = RuCaptchaControl.RuCaptchaControl(rucaptcha_key = RUCAPTCHA_KEY).additional_methods(action = 'getbalance')
		print("Проверено: {}/{}".format(i, len(read_data)))
		print("Удачных: {}".format(valid))
		print("Баланс: {} рублей".format(answer['serverAnswer']))
import asyncio

from python_rucaptcha import RuCaptchaControl, ImageCaptcha
"""
Этот пример показывает работу модуля управления аккаунтом RuCaptcha.
Присутствует возможность получить информацию о балансе средств и отправить жалобу на неверно решённую капчу.
"""
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = "ba86e77f9007a106c2eb2d7436e74440"

# пример получения информации о балансе
answer = RuCaptchaControl.RuCaptchaControl(
    rucaptcha_key=RUCAPTCHA_KEY).additional_methods(action='getbalance')
"""
answer - это JSON строка с соответствующими полями:

serverAnswer - ответ сервера при использовании RuCaptchaControl(баланс/жалобы и т.д.)
taskId - находится Id задачи на решение капчи, можно использовать при жалобах и прочем,
error - False - если всё хорошо, True - если есть ошибка,
errorBody - полная информация об ошибке: 
    {
        text - Развернётое пояснение ошибки
        id - уникальный номер ошибка в ЭТОЙ бибилотеке
    }
"""

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

elif answer['error']:
    # Тело ошибки, если есть
示例#6
0
import asyncio

from python_rucaptcha import RuCaptchaControl, ImageCaptcha
"""
Этот пример показывает работу модуля управления аккаунтом RuCaptcha.
Присутствует возможность получить информацию о балансе средств и отправить жалобу на неверно решённую капчу.
"""
# Введите ключ от рукапчи из своего аккаунта
RUCAPTCHA_KEY = "ba86e77f9007a106c2eb2d7436e74440"

# пример получения информации о балансе
answer = RuCaptchaControl.RuCaptchaControl(
    rucaptcha_key=RUCAPTCHA_KEY).additional_methods(action="getbalance")
"""
answer - это JSON строка с соответствующими полями:

serverAnswer - ответ сервера при использовании RuCaptchaControl(баланс/жалобы и т.д.)
taskId - находится Id задачи на решение капчи, можно использовать при жалобах и прочем,
error - False - если всё хорошо, True - если есть ошибка,
errorBody - полная информация об ошибке: 
    {
        text - Развернётое пояснение ошибки
        id - уникальный номер ошибка в ЭТОЙ бибилотеке
    }
"""

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

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