105 lines
5.3 KiB
Python
105 lines
5.3 KiB
Python
import asyncio
|
||
import requests
|
||
|
||
from python3_anticaptcha import FunCaptchaTask, FunCaptchaTaskProxyless, CallbackClient
|
||
|
||
|
||
ANTICAPTCHA_KEY = ""
|
||
WEB_URL = ""
|
||
SITE_KEY = ""
|
||
# Пример работы антикапчи с фанкапчёй и с использованием прокси при этом
|
||
result = FunCaptchaTask.FunCaptchaTask(anticaptcha_key=ANTICAPTCHA_KEY,
|
||
proxyType='http',
|
||
proxyAddress="8.8.8.8",
|
||
proxyPort=8080,
|
||
proxyLogin="proxyLoginHere",
|
||
proxyPassword="proxyPasswordHere")\
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
|
||
print(result)
|
||
|
||
# Пример работы антикапчи с фанкапчёй и с БЕЗ использования прокси при этом
|
||
result = FunCaptchaTaskProxyless.FunCaptchaTaskProxyless(anticaptcha_key=ANTICAPTCHA_KEY)\
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
|
||
print(result)
|
||
|
||
# Асинхронный пример работы
|
||
async def run():
|
||
try:
|
||
# Пример работы антикапчи с фанкапчёй и с использованием прокси при этом
|
||
result = FunCaptchaTask.aioFunCaptchaTask(anticaptcha_key=ANTICAPTCHA_KEY,
|
||
proxyType='http',
|
||
proxyAddress="8.8.8.8",
|
||
proxyPort=8080,
|
||
proxyLogin="proxyLoginHere",
|
||
proxyPassword="proxyPasswordHere") \
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
|
||
print(result)
|
||
# Пример работы антикапчи с фанкапчёй и БЕЗ использования прокси при этом
|
||
result = FunCaptchaTaskProxyless.aioFunCaptchaTaskProxyless(anticaptcha_key=ANTICAPTCHA_KEY) \
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
|
||
print(result)
|
||
except Exception as err:
|
||
print(err)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
loop = asyncio.get_event_loop()
|
||
loop.run_until_complete(run())
|
||
loop.close()
|
||
|
||
"""
|
||
Callback example
|
||
"""
|
||
QUEUE_KEY = 'wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ_anticaptcha_queue'
|
||
|
||
"""
|
||
Перед тем как начать пользоваться сервисом нужно создать для своей задачи отдельную очередь
|
||
Очередь можно создать один раз и пользоваться постоянно
|
||
|
||
Для создания очереди нужно передать два параметра:
|
||
1. key - название очереди, чем оно сложнее тем лучше
|
||
2. vhost - название виртуального хоста(в данном случаи - `anticaptcha_vhost`)
|
||
"""
|
||
|
||
answer = requests.post('http://85.255.8.26:8001/register_key', json={'key':QUEUE_KEY,
|
||
'vhost':'anticaptcha_vhost'})
|
||
# если очередь успешно создана:
|
||
if answer == 'OK':
|
||
|
||
# создаём задание с callbackURL параметром
|
||
result = FunCaptchaTask.FunCaptchaTask(anticaptcha_key=ANTICAPTCHA_KEY,
|
||
proxyType='http',
|
||
proxyAddress="8.8.8.8",
|
||
proxyPort=8080,
|
||
proxyLogin="proxyLoginHere",
|
||
proxyPassword="proxyPasswordHere",
|
||
callbackUrl=f'http://85.255.8.26:8001/anticaptcha/fun_captcha/{QUEUE_KEY}') \
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
print(result)
|
||
|
||
# получение результата из кеша
|
||
print(CallbackClient.CallbackClient(task_id=result['taskId']).captcha_handler())
|
||
# получение результата из RabbitMQ очереди
|
||
print(CallbackClient.CallbackClient(task_id=result['taskId'], queue_name=QUEUE_KEY, call_type='queue').captcha_handler())
|
||
|
||
# создаём задание с callbackURL параметром
|
||
result = FunCaptchaTaskProxyless.FunCaptchaTaskProxyless(anticaptcha_key=ANTICAPTCHA_KEY,
|
||
callbackUrl=f'http://85.255.8.26:8001/anticaptcha/fun_captcha/{QUEUE_KEY}') \
|
||
.captcha_handler(websiteURL=WEB_URL,
|
||
websitePublicKey=SITE_KEY)
|
||
print(result)
|
||
|
||
# получение результата из кеша
|
||
print(CallbackClient.CallbackClient(task_id=result['taskId']).captcha_handler())
|
||
# получение результата из RabbitMQ очереди
|
||
print(CallbackClient.CallbackClient(task_id=result['taskId'], queue_name=QUEUE_KEY, call_type='queue').captcha_handler())
|