Заходим на сайт http://perfect-fit.sm-day.ru/ Заполняем анкету Получаем промокод Набираем корма на 505 рублей и оформляем заказ за 1 руб в купер
Монополист, у меня их 3, просто во дворе живут, лето, двери открыты, они заходят и едят кошачий корм, жидкий и сухой раньше на улице им оставлял, но едят очень много
фармите, кормите животных import requests import random import string import time import base64 import os import json CAPMONSTER_API_KEY = "ВАШ_КЛЮЧ_С_CAPMONSTER.CLOUD" # Вставьте сюда ваш API-ключ от сервиса capmonster.cloud def report_bad_captcha(task_id): if not task_id: return print(f"Отправка жалобы для taskId: {task_id}...") payload = { "clientKey": CAPMONSTER_API_KEY, "taskId": task_id } try: response = requests.post("https://api.capmonster.cloud/reportIncorrectImageCaptcha", json=payload, timeout=20) response.raise_for_status() result = response.json() if result.get("errorId") == 0: print("Жалоба на неверное решение капчи успешно отправлена. ") else: print(f"Не удалось отправить жалобу. Ошибка CapMonster: {result.get('errorDescription')}") except requests.RequestException as e: print(f"Произошла сетевая ошибка при отправке жалобы: {e}") def solve_captcha_via_requests(session): if CAPMONSTER_API_KEY == "ВАШ_КЛЮЧ_С_CAPMONSTER.CLOUD": print("Ошибка: Пожалуйста, вставьте ваш API-ключ от capmonster.cloud в переменную CAPMONSTER_API_KEY.") return None, None, None print("Шаг 1.1: Получение данных CAPTCHA с сайта...") try: response_captcha_data = session.get('https://perfect-fit.sm-day.ru/api/captcha/') response_captcha_data.raise_for_status() captcha_code = response_captcha_data.json()["captcha_code"] captcha_image_url = f'https://perfect-fit.sm-day.ru/bitrix/tools/captcha.php?captcha_code={captcha_code}' image_response = session.get(captcha_image_url) image_response.raise_for_status() image_base64 = base64.b64encode(image_response.content).decode('utf-8') except (requests.RequestException, IOError, KeyError) as e: print(f"Ошибка при получении или сохранении CAPTCHA: {e}") return None, None, None print("Шаг 1.2: Отправка CAPTCHA в CapMonster для решения...") task_payload = { "clientKey": CAPMONSTER_API_KEY, "task": {"type": "ImageToTextTask", "body": image_base64} } task_id = None try: create_task_response = requests.post("https://api.capmonster.cloud/createTask", json=task_payload, timeout=20) create_task_response.raise_for_status() task_data = create_task_response.json() if task_data.get("errorId") != 0: print(f"CapMonster вернул ошибку при создании задачи: {task_data.get('errorDescription')}") return None, None, None task_id = task_data.get("taskId") print(f"Задача на решение создана с ID: {task_id}. Ожидаем результат...") except requests.RequestException as e: print(f"Ошибка при создании задачи в CapMonster: {e}") return None, None, task_id result_payload = {"clientKey": CAPMONSTER_API_KEY, "taskId": task_id} for _ in range(20): try: get_result_response = requests.post("https://api.capmonster.cloud/getTaskResult", json=result_payload, timeout=20) get_result_response.raise_for_status() result_data = get_result_response.json() if result_data.get("status") == "ready": solved_text = result_data.get("solution", {}).get("text") print(f"CAPTCHA решена! Результат: '{solved_text}'") return captcha_code, solved_text, task_id if result_data.get("status") == "processing": time.sleep(3) continue print(f"Ошибка при получении результата: {result_data.get('errorDescription')}") return None, None, task_id except requests.RequestException as e: print(f"Ошибка при запросе результата из CapMonster: {e}") return None, None, task_id print("Не удалось получить решение CAPTCHA за отведенное время.") return None, None, task_id print("Выберите, какой промокод вы хотите получить:") print("1. Промокод на покупку 10 паучей для котят") print("2. Промокод на покупку 1 пачки сухого корма для котят") print("3. Промокод на покупку сухого корма для щенков") choice = input("Введите номер вашего выбора (1, 2 или 3): ") pet_type, pet_food, pet_weight, promocodes_filename = '', '', '', '' if choice == '1': pet_type, pet_food = 'cat', 'wet' promocodes_filename = "promocodes_cat_wet.txt" elif choice == '2': pet_type, pet_food = 'cat', 'dry' promocodes_filename = "promocodes_cat_dry.txt" elif choice == '3': pet_type, pet_weight = 'dog', 'Менее 10 кг' promocodes_filename = "promocodes_dog_dry.txt" else: print("Неверный выбор. Перезапустите скрипт.") exit() print(f"\n[Настройка] Промокоды будут сохранены в файл: {promocodes_filename}\n") while True: try: quantity_str = input("Введите желаемое количество промокодов: ") target_quantity = int(quantity_str) if target_quantity > 0: break else: print("Пожалуйста, введите число больше нуля.") except ValueError: print("Ошибка: введите целое число.") session = requests.Session() session.headers.update({ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 YaBrowser/25.6.0.0 Safari/537.36', 'referer': 'https://perfect-fit.sm-day.ru/', }) successful_codes_count = 0 while successful_codes_count < target_quantity: print(f"\n--- Получение промокода {successful_codes_count + 1} из {target_quantity} ---") captcha_code, captcha_word, captcha_task_id = solve_captcha_via_requests(session) if not all([captcha_code, captcha_word]): print("Не удалось решить CAPTCHA. Повторяем попытку через 5 секунд...") time.sleep(5) continue random_email = ''.join(random.choices(string.ascii_lowercase, k=10)) + '@example.com' data_parts = [ '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="first_name"', '', 'Иван', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="last_name"', '', 'Иванов', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="city"', '', 'Мирный', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="email"', '', random_email, '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_kind"', '', pet_type, ] if pet_type == 'cat': data_parts.extend(['------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_food"', '', pet_food]) elif pet_type == 'dog': data_parts.extend(['------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_weight"', '', pet_weight]) data_parts.extend([ '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_age"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_date_of_birth"', '', '2025-07-02', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="privacy_policy"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="has_age_over_18"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="marketing_subscribe"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="captcha_code"', '', captcha_code, '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="captcha_word"', '', captcha_word, '------WebKitFormBoundaryFyy037cWW66BrcOc--' ]) data = '\r\n'.join(data_parts) + '\r\n' post_headers = session.headers.copy() post_headers.update({ 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryFyy037cWW66BrcOc', 'origin': 'https://perfect-fit.sm-day.ru', }) print("\nШаг 2: Отправка формы с вашими данными...") try: response_promo = session.post('https://perfect-fit.sm-day.ru/api/promo/', headers=post_headers, data=data.encode('utf-8')) print("\n--- РЕЗУЛЬТАТ ПОПЫТКИ ---") print(f"Статус-код: {response_promo.status_code}") print(f"Ответ сервера: {response_promo.text}") if response_promo.status_code == 200: try: response_data = response_promo.json() if response_data.get("status") is True and "promo" in response_data: promo_code = response_data["promo"].strip() print(f"УСПЕХ! Получен промокод: {promo_code}") with open(promocodes_filename, "a", encoding="utf-8") as f: f.write(promo_code + "\n") print(f"Промокод сохранен в файл {promocodes_filename}") successful_codes_count += 1 else: error_message = (response_data.get("messages", [{}])[0].get("error", "")).lower() if "неверно введён код с картинки" in error_message: print("Ошибка: CAPTCHA решена неверно.") report_bad_captcha(captcha_task_id) print("Автоматически повторяем попытку...") else: print(f"Сервер вернул ошибку, не связанную с капчей: {response_promo.text}") except json.JSONDecodeError: print(f"Не удалось распознать ответ сервера как JSON: {response_promo.text}") except requests.RequestException as e: print(f"Произошла сетевая ошибка при отправке формы: {e}") print("Пауза 2 секунды...") time.sleep(2) print(f"\n--- Работа скрипта завершена. Успешно получено {successful_codes_count} промокодов. ---") Python import requests import random import string import time import base64 import os import json CAPMONSTER_API_KEY = "ВАШ_КЛЮЧ_С_CAPMONSTER.CLOUD" # Вставьте сюда ваш API-ключ от сервиса capmonster.cloud def report_bad_captcha(task_id): if not task_id: return print(f"Отправка жалобы для taskId: {task_id}...") payload = { "clientKey": CAPMONSTER_API_KEY, "taskId": task_id } try: response = requests.post("https://api.capmonster.cloud/reportIncorrectImageCaptcha", json=payload, timeout=20) response.raise_for_status() result = response.json() if result.get("errorId") == 0: print("Жалоба на неверное решение капчи успешно отправлена. ") else: print(f"Не удалось отправить жалобу. Ошибка CapMonster: {result.get('errorDescription')}") except requests.RequestException as e: print(f"Произошла сетевая ошибка при отправке жалобы: {e}") def solve_captcha_via_requests(session): if CAPMONSTER_API_KEY == "ВАШ_КЛЮЧ_С_CAPMONSTER.CLOUD": print("Ошибка: Пожалуйста, вставьте ваш API-ключ от capmonster.cloud в переменную CAPMONSTER_API_KEY.") return None, None, None print("Шаг 1.1: Получение данных CAPTCHA с сайта...") try: response_captcha_data = session.get('https://perfect-fit.sm-day.ru/api/captcha/') response_captcha_data.raise_for_status() captcha_code = response_captcha_data.json()["captcha_code"] captcha_image_url = f'https://perfect-fit.sm-day.ru/bitrix/tools/captcha.php?captcha_code={captcha_code}' image_response = session.get(captcha_image_url) image_response.raise_for_status() image_base64 = base64.b64encode(image_response.content).decode('utf-8') except (requests.RequestException, IOError, KeyError) as e: print(f"Ошибка при получении или сохранении CAPTCHA: {e}") return None, None, None print("Шаг 1.2: Отправка CAPTCHA в CapMonster для решения...") task_payload = { "clientKey": CAPMONSTER_API_KEY, "task": {"type": "ImageToTextTask", "body": image_base64} } task_id = None try: create_task_response = requests.post("https://api.capmonster.cloud/createTask", json=task_payload, timeout=20) create_task_response.raise_for_status() task_data = create_task_response.json() if task_data.get("errorId") != 0: print(f"CapMonster вернул ошибку при создании задачи: {task_data.get('errorDescription')}") return None, None, None task_id = task_data.get("taskId") print(f"Задача на решение создана с ID: {task_id}. Ожидаем результат...") except requests.RequestException as e: print(f"Ошибка при создании задачи в CapMonster: {e}") return None, None, task_id result_payload = {"clientKey": CAPMONSTER_API_KEY, "taskId": task_id} for _ in range(20): try: get_result_response = requests.post("https://api.capmonster.cloud/getTaskResult", json=result_payload, timeout=20) get_result_response.raise_for_status() result_data = get_result_response.json() if result_data.get("status") == "ready": solved_text = result_data.get("solution", {}).get("text") print(f"CAPTCHA решена! Результат: '{solved_text}'") return captcha_code, solved_text, task_id if result_data.get("status") == "processing": time.sleep(3) continue print(f"Ошибка при получении результата: {result_data.get('errorDescription')}") return None, None, task_id except requests.RequestException as e: print(f"Ошибка при запросе результата из CapMonster: {e}") return None, None, task_id print("Не удалось получить решение CAPTCHA за отведенное время.") return None, None, task_id print("Выберите, какой промокод вы хотите получить:") print("1. Промокод на покупку 10 паучей для котят") print("2. Промокод на покупку 1 пачки сухого корма для котят") print("3. Промокод на покупку сухого корма для щенков") choice = input("Введите номер вашего выбора (1, 2 или 3): ") pet_type, pet_food, pet_weight, promocodes_filename = '', '', '', '' if choice == '1': pet_type, pet_food = 'cat', 'wet' promocodes_filename = "promocodes_cat_wet.txt" elif choice == '2': pet_type, pet_food = 'cat', 'dry' promocodes_filename = "promocodes_cat_dry.txt" elif choice == '3': pet_type, pet_weight = 'dog', 'Менее 10 кг' promocodes_filename = "promocodes_dog_dry.txt" else: print("Неверный выбор. Перезапустите скрипт.") exit() print(f"\n[Настройка] Промокоды будут сохранены в файл: {promocodes_filename}\n") while True: try: quantity_str = input("Введите желаемое количество промокодов: ") target_quantity = int(quantity_str) if target_quantity > 0: break else: print("Пожалуйста, введите число больше нуля.") except ValueError: print("Ошибка: введите целое число.") session = requests.Session() session.headers.update({ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 YaBrowser/25.6.0.0 Safari/537.36', 'referer': 'https://perfect-fit.sm-day.ru/', }) successful_codes_count = 0 while successful_codes_count < target_quantity: print(f"\n--- Получение промокода {successful_codes_count + 1} из {target_quantity} ---") captcha_code, captcha_word, captcha_task_id = solve_captcha_via_requests(session) if not all([captcha_code, captcha_word]): print("Не удалось решить CAPTCHA. Повторяем попытку через 5 секунд...") time.sleep(5) continue random_email = ''.join(random.choices(string.ascii_lowercase, k=10)) + '@example.com' data_parts = [ '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="first_name"', '', 'Иван', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="last_name"', '', 'Иванов', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="city"', '', 'Мирный', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="email"', '', random_email, '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_kind"', '', pet_type, ] if pet_type == 'cat': data_parts.extend(['------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_food"', '', pet_food]) elif pet_type == 'dog': data_parts.extend(['------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_weight"', '', pet_weight]) data_parts.extend([ '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_age"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="pet_date_of_birth"', '', '2025-07-02', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="privacy_policy"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="has_age_over_18"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="marketing_subscribe"', '', 'on', '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="captcha_code"', '', captcha_code, '------WebKitFormBoundaryFyy037cWW66BrcOc', 'Content-Disposition: form-data; name="captcha_word"', '', captcha_word, '------WebKitFormBoundaryFyy037cWW66BrcOc--' ]) data = '\r\n'.join(data_parts) + '\r\n' post_headers = session.headers.copy() post_headers.update({ 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryFyy037cWW66BrcOc', 'origin': 'https://perfect-fit.sm-day.ru', }) print("\nШаг 2: Отправка формы с вашими данными...") try: response_promo = session.post('https://perfect-fit.sm-day.ru/api/promo/', headers=post_headers, data=data.encode('utf-8')) print("\n--- РЕЗУЛЬТАТ ПОПЫТКИ ---") print(f"Статус-код: {response_promo.status_code}") print(f"Ответ сервера: {response_promo.text}") if response_promo.status_code == 200: try: response_data = response_promo.json() if response_data.get("status") is True and "promo" in response_data: promo_code = response_data["promo"].strip() print(f"УСПЕХ! Получен промокод: {promo_code}") with open(promocodes_filename, "a", encoding="utf-8") as f: f.write(promo_code + "\n") print(f"Промокод сохранен в файл {promocodes_filename}") successful_codes_count += 1 else: error_message = (response_data.get("messages", [{}])[0].get("error", "")).lower() if "неверно введён код с картинки" in error_message: print("Ошибка: CAPTCHA решена неверно.") report_bad_captcha(captcha_task_id) print("Автоматически повторяем попытку...") else: print(f"Сервер вернул ошибку, не связанную с капчей: {response_promo.text}") except json.JSONDecodeError: print(f"Не удалось распознать ответ сервера как JSON: {response_promo.text}") except requests.RequestException as e: print(f"Произошла сетевая ошибка при отправке формы: {e}") print("Пауза 2 секунды...") time.sleep(2) print(f"\n--- Работа скрипта завершена. Успешно получено {successful_codes_count} промокодов. ---")
HISANA, pft99drnmi65w pft99drri6fr5 pft99drzundbo pft99drq6uyc0 pft99drfic5yi pft99drz8oij5 pft99dr8xiwzf pft99drkgr7n4 pf99wlw1a5l pf99w5xxhnh pf99wpc0dkn pf99w4jyfm1 pf99wpmt5l0 pf99weg9u6s pf99wnkzikj pf99w37i4yj pf99wen03hx pf99wc6ql6m pf99wni5dgz pf99w4fmbaz pf99wtqf8m7 pftp7gtjle pftpipa393 pftp95p0h5