Exemplo n.º 1
0
	def solveTextCaptcha(self, captcha, min_length=None, max_length=None, digits=True, letters=True, characters=True, lower=True, upper=True, language="en", retries=3):
		captchafile = generateData(16) + ".png"
		self.savePic(captcha, captchafile)
		captcha_fp = open(captchafile, 'rb')
		client = AnticaptchaClient(self.captchaAPI['text'])
		task = ImageToTextTask(captcha_fp, min_length=min_length, max_length=max_length)
		job = client.createTask(task)
		job.join()        
		captchatxt = job.get_captcha_text()
		t = 0
		#if length and length != len(captchatxt):
		 #   t = 1
		if t != 1:
			for everyChar in captchatxt:
				if digits == False and everyChar in string.digits:
					t = 1
					break
				if language == "en":
					if letters == False and everyChar in string.ascii_letters:
						t = 1
						break
					if lower == False and everyChar in string.ascii_lowercase:
						t = 1
						break
					if upper == False and everyChar in string.ascii_uppercase:
						t = 1
						break
				
		if t == 1:
			return self.solveTextCaptcha(captcha, min_length, max_length, digits, letters, characters, lower, upper, language, retries)
		return captchatxt
Exemplo n.º 2
0
    def solve_captha(self):
        try:
            api_key = '14723f8265ec2fbffb5ac0be479e4e30'
            invisible_captcha = True
            url = 'http://tv.deluxeprime.net:25500/login.php?referrer=/users.php'
            client = AnticaptchaClient(api_key)
            task = NoCaptchaTaskProxylessTask(
                website_url=self.driver.current_url,
                website_key='6LeaXhITAAAAACiHR6YSn1YKAUrrTZTLtjxuwYx6',
                is_invisible=invisible_captcha)
            job = client.createTask(task)
            job.join()
            response = job.get_solution_response()
            print(self.driver.current_url)
            print(response)
            key = response
            command = 'document.getElementById("g-recaptcha-response").innerHTML="' + key + '";'
            self.driver.execute_script(
                "document.getElementsByName('captchaResponse')[0].setAttribute('type', 'shown');"
            )
            self.driver.find_element_by_name("captchaResponse").send_keys(key)
            time.sleep(5)
            self.driver.execute_script(command)
            time.sleep(2)

        except Exception as e:
            self.driver.quit()
Exemplo n.º 3
0
def process(path):
    captcha_fp = open(path, 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text()
Exemplo n.º 4
0
    def get_token(self, site_key, proxy=None):
        # proxy = urlparse("https://"+proxy)
        # print(proxy.hostname)
        #proxy = {"proxy_type":proxy.scheme, "proxy_address":proxy.hostname, "proxy_port": proxy.port, "proxy_login": proxy.username, "proxy_password":proxy.password}
        client = AnticaptchaClient(API_KEY)
        # task = FunCaptchaTask(SITE_URL,site_key, proxy_type=proxy.scheme, proxy_address=proxy.hostname,proxy_port=proxy.port,proxy_login=proxy.username,proxy_password=proxy.password, user_agent=self.current_user_agent)
        task = NoCaptchaTaskProxylessTask(website_url=SITE_URL,
                                          website_key=site_key)

        try:

            #job = client.createTaskSmee(task)
            job = client.createTask(task)
            job.join(maximum_time=150)

        except AnticatpchaException as e:
            if e.error_code == 'ERROR_ZERO_BALANCE':
                print(e.error_id, e.error_code, e.error_description)
            else:
                if DETAILED_LOGO:
                    self.print_logo("Exc:", e)
                return None
        except Exception as e:
            if DETAILED_LOGO:
                self.print_logo("Exc:", e)
            return None
        except timeout as e:
            if DETAILED_LOGO:
                self.print_logo("Exc", e)
            return None

        return job.get_solution_response()
Exemplo n.º 5
0
class Captcha(Cog):
    def __init__(self, bot):
        super().__init__(bot)
        self.settings = self.bot.settings["module"]["captcha"]
        self.tcurl = "https://tinychat.com/room/{}"
        self.captcha_client = AnticaptchaClient(self.settings["key"])

    # captcha is a websocket event.
    async def captcha(self, data: dict):
        await self.do_captcha(key=data["key"])

    async def do_captcha(self, key: str):
        self.logger.info("attempting to solve captcha.")
        try:
            task = NoCaptchaTaskProxylessTask(
                self.tcurl.format(self.bot.settings["room"]["roomname"], key))
            job = self.captcha_client.createTask(task)
            job.join()
            payload = {
                "tc": "captcha",
                "req": 1,
                "token": job.get_solution_response()
            }
            await self.bot.ws.send(json.dumps(payload))
        except AnticatpchaException as e:
            self.logger.error(e)
            raise
Exemplo n.º 6
0
def process(url):
    session = requests.Session()
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(session.get(url, stream=True).raw)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text()
Exemplo n.º 7
0
class AntiRecaptcha:
    def __init__(self, client, site_key, url):
        self.client = AnticaptchaClient(client)
        self.task = NoCaptchaTaskProxylessTask(url, site_key)
        self.notify = None

    def set_discord_channel(self, webhooks):
        self.notify = DiscordNotification(webhooks)

    def getResponse(self):
        while True:
            try:
                self.job = self.client.createTask(self.task)
                self.job.join()
                response = self.job.get_solution_response()
                break
            except AnticaptchaException as exception:
                self.notify.sendErrorMessage(str(exception),
                                             "AnticaptchaException")
                self.incorrect()
                time.sleep(1)
                self.notify.sendInfoMessage(
                    "Trying again with by creating a new , ")
                continue
        return response

    def incorrect(self):
        self.job.report_incorrect_recaptcha()
Exemplo n.º 8
0
def insert_anticaptcha_solution(driver, group_name):
    try:
        driver.find_element_by_id("g-recaptcha-response")
        api_key = ANTICAPTCHA_ID
        site_key = SITE_KEY
        url = 'https://groups.google.com/forum/#!managemembers/{}/invite'.format(
            group_name)
        print('Вычисляем антикапчу')
        client = AnticaptchaClient(api_key)
        task = NoCaptchaTaskProxylessTask(url, site_key)
        job = client.createTask(task)
        job.join()

        response = job.get_solution_response()
        print("Received solution", response)
        time.sleep(2)

        driver.execute_script(
            'document.getElementById("g-recaptcha-response").innerHTML = "%s"'
            % response)
        time.sleep(2)
        driver.execute_script(
            'document.getElementById("g-recaptcha-response").innerHTML = "%s"'
            % response)
        time.sleep(2)

        capchaButton = driver.find_element_by_xpath('//div[@aria-disabled]')
        capchaButton.click()
        print('Все приглашения отправлены')
    except:
        error = driver.find_element_by_class_name('F0XO1GC-Nb-f').text
        print(error)
def build_jobs(urls):
    client = AnticaptchaClient(api_key)
    tasks = [
        CustomCaptchaTask(imageUrl=url, assignment="Content moderation", form=form)
        for url in urls
    ]
    return [client.createTask(task) for task in tasks]
Exemplo n.º 10
0
def get_captcha(url, site_key):
    try:
        #    if True:
        logging.info('Waiting for recaptcha to be solved ...')
        #        api_key = '3d9e48e7ad1d64de378bc1dea4fd472e'
        api_key = 'c76f49b1ee12f7739faebf78de3534f0'

        headers = {
            'User-Agent': ua.get_user_agent(),
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }

        api_call = ('{\"clientKey\":\"%s\"}') % (api_key)
        service_url = 'https://api.anti-captcha.com/getBalance'
        response = requests.post(service_url,
                                 data=api_call,
                                 headers=headers,
                                 timeout=15).text
        api_content = json.loads(response)
        logging.info(
            ('Anti-captcha balance: %s USD') % (str(api_content['balance'])))

        client = AnticaptchaClient(api_key)
        task = NoCaptchaTaskProxylessTask(url, site_key)
        job = client.createTask(task)
        job.join()
        return job.get_solution_response()
    except Exception as err:
        logging.info('Failed to resolve captcha: ' + str(err))
        raise err
def solve_captcha():
    driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
    try:
        check = WebDriverWait(driver, 10).until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="recaptcha-anchor"]/div[1]')))
        print("check box image captcha")
    except (TimeoutException, NoSuchElementException):
        print("no check box")
    client = AnticaptchaClient(API_KEY)
    task = NoCaptchaTaskProxylessTask(page, site_key)
    job = client.createTask(task)
    print("Waiting for solution by Anticaptcha workers")
    job.join()
    # Receive response
    captcha_response = job.get_solution_response()
    print("Received solution", captcha_response)
    # Inject response in webpage
    driver.switch_to.default_content()
    driver.execute_script(
        "arguments[0].style.display='inline'",
        driver.find_element_by_xpath(
            '//*[@id="g-recaptcha-response"]'
        ),
    )
    driver.execute_script(
        'document.getElementById("g-recaptcha-response").innerHTML = "%s"'
        % captcha_response
    )
    driver.switch_to.default_content()
Exemplo n.º 12
0
def CreateAccount(email):
    s = requests.session()
    headers = {
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
        'Host': 'undefeated.com',
        'Origin': 'https://undefeated.com',
        'Referer': 'https://undefeated.com/account/register'
    }

    data = {
        'form_type': 'create_customer',
        'utf8': '✓',
        'customer[first_name]': fname,
        'customer[last_name]': lname,
        'customer[email]': email,
        'customer[password]': password
    }
    r1 = s.post("https://undefeated.com/account", data=data, headers=headers)

    if r1.url == captcha_url:
        print("Encountered captcha")
        soup = BeautifulSoup(r1.text, "html.parser")
        authToken = soup.find("input", {"name": "authenticity_token"})['value']
        print("Sending job to anti-captcha, please wait for it to be solved")
        print(
            "If this is taking a long time to solve, go to https://anti-captcha.com/clients/reports/dashboard to check if it's still being solved"
        )
        client = AnticaptchaClient(api_key)
        task = NoCaptchaTaskProxylessTask(captcha_url, sitekey)
        job = client.createTask(task)
        job.join()
        job.get_solution_response()

        headers2 = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
            'Origin': 'https://undefeated.com',
            'Referer': 'https://undefeated.com/challenge'
        }

        data2 = {
            'utf8': '✓',
            'authenticity_token': authToken,
            'g-recaptcha-response': job.get_solution_response()
        }

        r1 = s.post("https://undefeated.com/account",
                    data=data2,
                    headers=headers2)

        if r1.url == "https://undefeated.com/":
            print("Successfully created an account with {}".format(email))
            SaveToFile()
        else:
            print("Creation unsuccessful")
    else:
        print("Successfully created an account with {}".format(email))
        SaveToFile()
Exemplo n.º 13
0
def resolve(url, api_key, site_key):
    client = AnticaptchaClient(api_key)
    task = NoCaptchaTaskProxylessTask(url, site_key)

    job = client.createTask(task)
    job.join()

    return job.get_solution_response()
Exemplo n.º 14
0
def solveCaptcha():
    api_key = '0bb959acace0ae069bb6b33015b158df'
    captcha_fp = open('captcha.png', 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return (job.get_captcha_text())
Exemplo n.º 15
0
def authenticate(driver):
    #autentifocation
    window_handle = driver.window_handles[0]
    time.sleep(1)
    allow_cookies_btn = driver.find_element_by_css_selector('.cc-btn.cc-allow')
    if allow_cookies_btn:
        allow_cookies_btn.click()
    time.sleep(1)
    auth_form =  driver.find_element_by_id('new_allbestbets_user')
    sign_in_url = auth_form.get_attribute('action')
    print(sign_in_url)
    """print(hiddens)
    csrf_token = soup.find('meta', {'name': 'csrf-token'})
    if csrf_token:
        csrf_token = csrf_token.get('content')
        print(csrf_token)"""
    div_recaptcha = auth_form.find_element_by_css_selector('div.g-recaptcha')
    print(div_recaptcha)
    site_key = div_recaptcha.get_attribute('data-sitekey')
    print(site_key)
    recaptcha_url = div_recaptcha.find_element_by_xpath('preceding-sibling::script').get_attribute('src')
    print(recaptcha_url)
    time.sleep(1)
    submit_btn = auth_form.find_element_by_css_selector('button.button-clear')
    auth_form.find_element_by_id('allbestbets_user_email').send_keys(login['user'])
    time.sleep(1)
    auth_form.find_element_by_id('allbestbets_user_password').send_keys(login['pass'])
    time.sleep(1)
    solution = ''
    while not solution:
        try:
            client = AnticaptchaClient(anticaptcha_key)
            task = NoCaptchaTaskProxylessTask(recaptcha_url, site_key)
            job = client.createTask(task)
            job.join()
            solution = job.get_solution_response()
            print(solution)
        except Exception as exc:
            print(exc)    
            time.sleep(1)
    

    driver.execute_script(f"document.getElementById('g-recaptcha-response').innerHTML='{solution}';")
    #recaptcha_textarea = auth_form.find_element_by_id('g-recaptcha-response')
    #recaptcha_textarea.send_keys(solution)

    recaptcha_frame = div_recaptcha.find_element_by_tag_name('iframe')
    driver.switch_to.frame(recaptcha_frame) 
    driver.execute_script("document.getElementById('recaptcha-anchor').classList.remove('recaptcha-checkbox-unchecked');document.getElementById('recaptcha-anchor').classList.add('recaptcha-checkbox-checked');")

    #recaptcha_checkbox = driver.find_element_by_css_selector('div.recaptcha-checkbox-border')
    #recaptcha_checkbox.click()

    time.sleep(1)
    driver.switch_to.window(window_handle)
    submit_btn.click()
    """else:
Exemplo n.º 16
0
def solve_captcha(img_file_path):
    captcha_fp = open(img_file_path, 'rb')
    client = AnticaptchaClient(api_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    print("Captcha Results Arrvied!")

    Captcha_text = job.get_captcha_text()
    return Captcha_text
Exemplo n.º 17
0
	def solveReCaptcha(self, api, sitekey = None):
		if sitekey == None:
			sitekey = self.getSiteKey()
		client = AnticaptchaClient(api)
		task = NoCaptchaTaskProxylessTask(self.driver.current_url, sitekey)
		job = client.createTask(task)
		job.join()
		code = job.get_solution_response()
		#self.inject("g-recaptcha-response", code, "id") #for me, right now this is unreliabily injecting
		return code
Exemplo n.º 18
0
 def test_invisible_captcha(self):
     client = AnticaptchaClient(os.environ['KEY'])
     task = NoCaptchaTaskProxylessTask(
         website_url=
         'https://losangeles.craigslist.org/lac/kid/d/housekeeper-sitting-pet-care/6720136191.html',
         website_key='6Lc-0DYUAAAAAOPM3RGobCfKjIE5STmzvZfHbbNx',
     )
     job = client.createTask(task)
     job.join()
     self.assertIsInstance(job.get_solution_response(), six.string_types)
Exemplo n.º 19
0
def process(url):
    client = AnticaptchaClient(api_key)
    task = CustomCaptchaTask(
        imageUrl=url,
        assignment="Count the dots and indicate their color.",
        form=form)

    job = client.createTask(task)
    job.join()
    answer = job.get_answers()
    return answer['dot_count'], answer['dot_color']
Exemplo n.º 20
0
def solve_captcha(url):
    image = io.imread(url)
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    cv2.imwrite('captcha.jpg', image)

    captcha_fp = open('captcha.jpg', 'rb')
    client = AnticaptchaClient(anticaptcha_key)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return job.get_captcha_text(), job.task_id
Exemplo n.º 21
0
def solve_captcha(filepath):
    """ résolution du captcha """
    try:
        api_key = '7efb4f91db0301564967acb3ebde07f9'
        captcha_fp = open(filepath, 'rb')
        client = AnticaptchaClient(api_key)
        task = ImageToTextTask(captcha_fp)
        job = client.createTask(task)
        job.join()
        return job.get_captcha_text()
    except Exception as error:
        print(error)
Exemplo n.º 22
0
 def solve_captcha_image(self):
     element = self.driver.find_element_by_id('captcha_img').screenshot_as_png
     im = Image.open(BytesIO(element))  # uses PIL library to open image in memory
     im.save('screenshot.png')  # saves new cropped image
     api_key = co.API_CAPTCHA_KEY
     captcha_fp = open('screenshot.png', 'rb')
     client = AnticaptchaClient(api_key)
     task = ImageToTextTask(captcha_fp)
     job = client.createTask(task)
     job.join()
     print(job.get_captcha_text())
     self.driver.find_element_by_xpath('//*[@id="imagestring"]').send_keys(job.get_captcha_text())
 def solve_captcha(self, url, html):
     key_pattern = re.compile("Packt.offers.onLoadRecaptcha\(\'(.+?)\'\)")
     site_key = key_pattern.search(html.find(text=key_pattern)).group(1)
     client = AnticaptchaClient(self.account_data.anticaptcha_clientkey)
     task = NoCaptchaTaskProxylessTask(url, site_key)
     job = client.createTask(task)
     logger.info("Task ID {} created. Waiting to finish.".format(job.task_id))
     start = time.time()
     job.join()
     end = time.time()
     logger.info("Taks finished in {:.2f} second".format(end - start))
     return job.get_solution_response()
Exemplo n.º 24
0
def captcha_handler2(captcha):
    """ При возникновении капчи вызывается эта функция и ей передается объект
        капчи. Через метод get_url можно получить ссылку на изображение.
        Через метод try_again можно попытаться отправить запрос с кодом капчи
    """

    captcha_fp = makeImage(captcha.get_url())
    client = AnticaptchaClient(ANTICAPTCHA_KEY)
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    return captcha.try_again(job.get_captcha_text())
Exemplo n.º 25
0
 def get_recaptcha_response(cls, page):
     try:
         key = cls.get_recaptcha_key(page)
         client = AnticaptchaClient(cls.anticaptcha_api_key)
         task = NoCaptchaTaskProxylessTask(cls.auth_url, key)
         job = client.createTask(task)
         job.join()
         recaptcha_res = job.get_solution_response()
     except Exception as err:
         logging.error(f"Couldn't get recaptcha response  / {err}")
         return ""
     return recaptcha_res
Exemplo n.º 26
0
class AntiCaptchaSolver():
    def __init__(self, api_key):
        self.__client = AnticaptchaClient(api_key)

    def __createTask(self, task):
        return self.__client.createTask(task)

    def solveTask(self, website_url, website_key):
        job = self.__createTask(
            NoCaptchaTaskProxylessTask(website_url, website_key))
        job.join()
        return job.get_solution_response()
Exemplo n.º 27
0
def get_captcha(url, api_key, site_key):
    print("[CHECKING] captcha (siteKey = %s, apiKey = %s)" %
          (site_key, api_key))

    try:
        client = AnticaptchaClient(api_key)
        task = NoCaptchaTaskProxylessTask(url, site_key)
        job = client.createTask(task)
        job.join()
        return job.get_solution_response()
    except AnticaptchaException as ae:
        print("[ERROR] error = %s" % str(ae))
        return None
def imageCaptchaSolver(image_path):
    captcha_fp = open(image_path, 'rb')
    client = AnticaptchaClient(os.getenv("ANTI_CAPTCH_API_KEY"))
    task = ImageToTextTask(captcha_fp)
    job = client.createTask(task)
    job.join()
    captcha_text = job.get_captcha_text()
    return captcha_text


# import requests
# import os
# import base64

# def get_base64_encoded_image(image_path):
#     with open(image_path, "rb") as img_file:
#         return base64.b64encode(img_file.read()).decode('utf-8')

# def imageCaptchaSolver(image_path):
#     image64 = get_base64_encoded_image(image_path)

#     r = requests.post(
#         'https://api.capmonster.cloud/createTask',
#         json = {
#             "clientKey":"4b09560fde218b7545a7a043089532df",
#             "task":
#             {
#                 "type":"ImageToTextTask",
#                 "body":image64
#             }
#         }
#     ).json()

#     print(r)

#     sol = {"status": "wait"}
#     while sol["status"]!= "ready":
#         sol = requests.post(
#             "https://api.capmonster.cloud/getTaskResult/",
#             json = {
#                 "clientKey":"4b09560fde218b7545a7a043089532df",
#                 "taskId": r["taskId"]
#             }
#         ).json()
#         print(sol)

#     captcha_text = sol["solution"]["text"]
#     print(captcha_text)
#     return captcha_text
def solve_captcha(url):
    print("solving captcha....")
    res = None
    try:

        client = AnticaptchaClient(API_KEY)
        task = NoCaptchaTaskProxylessTask(url, SITE_KEY)
        job = client.createTask(task)
        job.join()
        res = job.get_solution_response()
        print("Captcha solved !!")

    except Exception as err:
        print("Captcha not solved... Error:", err)

    return res
 def solve_captcha(self, driver):
     driver.find_element_by_xpath(
         "//img[@title = 'Image CAPTCHA']").screenshot('captcha_0.png')
     try:
         driver.find_element_by_id('edit-accept-tos')
         driver.execute_script(
             "document.getElementById('edit-accept-tos').click()")
     finally:
         api_key = 'mykey'
         captcha_fp = open('captcha_0.png', 'rb')
         client = AnticaptchaClient(api_key)
         task = ImageToTextTask(captcha_fp)
         job = client.createTask(task)
         job.join()
         captcha = job.get_captcha_text()
         driver.find_element_by_id('edit-captcha-response').send_keys(
             captcha)
         driver.find_element_by_id('edit-op').click()
         return driver