async def register_new_queue(route: str): async with aiohttp.ClientSession() as session: async with session.post(f'http://{HOST}:{PORT}/{route}', json={'key':QUEUE_KEY, 'vhost': 'rucaptcha_vhost'}) as resp: answer = await resp.text() print(f'\tNew queue creation status - {answer};') if __name__ == '__main__': loop = asyncio.new_event_loop() # создаём очередь на сервере с ключом loop.run_until_complete(register_new_queue(route='register_key')) loop.close() print(CallbackClient.CallbackClient(task_id=TASK_ID).captcha_handler()) print(CallbackClient.CallbackClient(task_id=TASK_ID, queue_name=QUEUE_KEY, call_type='queue'). \ captcha_handler(requests_timeout=0.5, auth_params = { 'host': '85.255.8.26', 'port': '8001', 'rtmq_username': '******', 'rtmq_password': '******', 'rtmq_host': '85.255.8.26', 'rtmq_port': '5672', 'rtmq_vhost': 'rucaptcha_vhost' } ) )
'vhost': 'rucaptcha_vhost' }) # если очередь зарегистрирована if answer.text == 'OK': # IP адрес должен быть ЗАРАНЕЕ зарегистрирован в системе (подробонсти смотри в `CaptchaTester/rucaptcha_control_example.py`) # создаём задание на сервере, ответ на которое придёт на заданный pingback URL в виде POST запроса task_creation_answer = KeyCaptcha.KeyCaptcha(rucaptcha_key=RUCAPTCHA_KEY, pingback=f'85.255.8.26:8001/rucaptcha/key_captcha/{queue_name}', ) \ .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/' }) print(task_creation_answer) # подключаемся к серверу и ждём решения капчи из кеша callback_server_response = CallbackClient.CallbackClient( task_id=task_creation_answer.get('id')).captcha_handler() print(callback_server_response) # подключаемся к серверу и ждём решения капчи из RabbitMQ queue callback_server_response = CallbackClient.CallbackClient( task_id=task_creation_answer.get('id'), queue_name=queue_name, call_type='queue').captcha_handler() print(callback_server_response)
json={ "key": QUEUE_KEY, "vhost": "rucaptcha_vhost" }) as resp: answer = await resp.text() print(f"\tNew queue creation status - {answer};") if __name__ == "__main__": loop = asyncio.new_event_loop() # создаём очередь на сервере с ключом loop.run_until_complete(register_new_queue(route="register_key")) loop.close() print(CallbackClient.CallbackClient(task_id=TASK_ID).captcha_handler()) print( CallbackClient.CallbackClient(task_id=TASK_ID, queue_name=QUEUE_KEY, call_type="queue").captcha_handler( requests_timeout=0.5, auth_params={ "host": "85.255.8.26", "port": "8001", "rtmq_username": "******", "rtmq_password": "******", "rtmq_host": "85.255.8.26", "rtmq_port": "5672", "rtmq_vhost": "rucaptcha_vhost", },