В классическом парсинге разработчики тратят часы на написание менеджеров ротации: нужно загрузить список из 1000 IP, проверить их на валидность, исключать забаненные и следить, чтобы IP не повторялись.
В CyberYozh App мы перевернули игру. Вам не нужен список прокси. Вам нужен один адрес, который сам меняет IP за вас. Вся магия настройки происходит не в коде, а в нашем Генераторе кредов (доступен для резидентских ротационных прокси).
В этом гайде мы разберем, как настроить автоматическую ротацию и Sticky-сессии в Python за 3 минуты, используя наши Резидентские прокси.
🛠 Часть 1. Подготовка в CyberYozh App
Прежде чем открывать PyCharm, зайдем в личный кабинет. Нам нужно получить правильные доступы. В разделе «Мои прокси» нажмите кнопку «Сгенерировать учетные данные».

Рис. 1. Кнопка "Сгенерировать учетные данные" (креды) в личном кабинете.
Здесь вы управляете логикой поведения прокси. У нас есть 3 режима, которые меняют то, как прокси будет вести себя в коде:
Случайный IP (Random /
-res-any): Каждый новый запрос = Новый IP. Идеально для парсинга цен, сбора данных.Короткая сессия (Targeting): IP держится до 1 минуты. Нужен для точечной работы в конкретном городе/штате.
Длинная сессия (Long /
-resfix): IP закрепляется за вами на срок до 6 часов (Sticky Session). Идеально для авторизации на сайтах, чтобы вас не разлогинило.

Рис. 2. Пункт выбора типа сессии в генераторе: случайная, короткая и длинная.

Рис. 3. Кнопка генерации данных для подключения.
⚠️ Важный нюанс по портам: В отличие от других сервисов, мы разделили порты для стабильности:
Для requests (HTTP/HTTPS) используйте порт 5959.
Для SOCKS5 клиентов используйте порт 9595.
👉 Подробнее о ротации для резидентских прокси можно прочитать здесь.
💻 Часть 2. Сценарий «Парсинг»: Авто-ротация (Random IP)
Задача: Сделать 10 запросов к сайту, и чтобы каждый раз сайт видел нас как нового пользователя. Раньше вам нужен был бы список из 10 прокси. С CyberYozh App вам нужна одна строка с префиксом -res-any.
import requests
# Данные из Генератора (Режим Random IP)
# Обратите внимание на порт 5959 для HTTP!
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"
PROXY_USER = "pcJcWhGag4-res-any" # Префикс -res-any включает ротацию
PROXY_PASS = "ваш_пароль"
proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"
proxies = {
"http": proxy_url,
"https": proxy_url
}
url = "https://httpbin.org/ip" # Сайт, который покажет наш IP
print("--- Запускаем парсинг с ротацией ---")
for i in range(5):
try:
# Каждый раз, дергая одну и ту же ссылку, CyberYozh выдаст новый IP
response = requests.get(url, proxies=proxies, timeout=10)
current_ip = response.json()['origin']
print(f"Запрос {i+1}: Ваш внешний IP -> {current_ip}")
except Exception as e:
print(f"Ошибка: {e}")
🚀 Часть 3. Сценарий «Аккаунты»: Sticky-сессии (Long Session)
Задача: Залогиниться на сайте и ходить по внутренним страницам 30 минут, не меняя IP, чтобы не получить бан за подозрительную активность.
В генераторе CyberYozh App выберите «Длинная сессия». Система выдаст вам логин с уникальным токеном (например, ...-resfix-us-nnid-9d016...). Пока вы используете этот логин — IP будет неизменным (до 6 часов).
import requests
# Данные из Генератора (Режим Long Session)
# Логин стал длинным — в нем зашит ID сессии
PROXY_USER = "pcJcWhGag4-resfix-us-nnid-9d016abcd"
PROXY_PASS = "ваш_пароль"
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"
proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"
# Используем requests.Session для сохранения кук и заголовков
session = requests.Session()
session.proxies = {
"http": proxy_url,
"https": proxy_url
}
# Мимикрируем под браузер
session.headers.update({
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)..."
})
print("--- Работаем в одной сессии ---")
# Шаг 1. Заходим на главную (получаем IP)
r1 = session.get("https://httpbin.org/ip")
ip1 = r1.json()['origin']
print(f"Шаг 1: Наш IP {ip1}")
# Шаг 2. Делаем что-то полезное (IP должен остаться тем же)
r2 = session.get("https://httpbin.org/ip")
ip2 = r2.json()['origin']
print(f"Шаг 2: Наш IP {ip2}")
if ip1 == ip2:
print("Успех! Сессия удерживается, можно безопасно работать с аккаунтом.")
else:
print("Внимание! IP сменился (проверьте настройки генератора).")
📱 Часть 4. Мобильные прокси (Private 4G/LTE): Управляем модемом через код
С Резидентскими ротационными прокси всё просто: вы дергаете одну ссылку, а наша система сама подсовывает вам новый IP из пула. С Мобильными приватными прокси (Private) механика другая. У вас есть реальный USB-модем. Чтобы сменить IP, этот модем нужно физически перезагрузить (переподключить к вышке сотовой связи).
В CyberYozh App для приватных портов (каналов) мы даем специальную API-ссылку. Если по ней перейти — модем уйдет в перезагрузку.
Главный нюанс: Смена IP на мобильных прокси занимает время (10-20 секунд). Если ваш скрипт не умеет ждать, он упадет с ошибкой ConnectionError.

Рис. 4. Ссылка на смену IP-адреса в карточке выделенного (Private) мобильного прокси.
Реализация функции Reboot (Смена IP)
Напишем функцию, которая дергает API-ссылку и ставит скрипт на паузу, пока модем ищет новую вышку.
import requests
import time
# --- НАСТРОЙКИ ИЗ КАБИНЕТА CYBERYOZH APP ---
MOBILE_PROXY = "http://LOGIN:PASS@IP:PORT" # Ваши данные доступа
ROTATION_LINK = "https://app.cyberyozh.com/api/v1/..." # Ссылка из поля «Ссылка для смены IP-адреса»
def change_mobile_ip(api_link):
"""
Функция для перезагрузки мобильного модема.
"""
print(f"♻️ Запускаем смену IP...")
try:
# 1. Отправляем сигнал на перезагрузку
r = requests.get(api_link)
if r.status_code == 200:
print("✅ Команда принята модемом.")
else:
print(f"⚠️ Ошибка API: {r.status_code}")
return False
# 2. КРИТИЧЕСКИЙ МОМЕНТ: Ждем перезагрузку
# Модему нужно время, чтобы разорвать связь и найти новую вышку.
# Обычно это 10-20 секунд.
wait_time = 15
print(f"⏳ Ждем {wait_time} сек, пока модем переподключится...")
time.sleep(wait_time)
return True
except Exception as e:
print(f"Ошибка при запросе к API: {e}")
return False
# --- ПРИМЕР ИСПОЛЬЗОВАНИЯ ---
proxies = {"http": MOBILE_PROXY, "https": MOBILE_PROXY}
# Шаг 1. Работаем с текущим IP
try:
ip_old = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
print(f"Старый IP: {ip_old}")
except:
print("Прокси пока недоступен или ошибка сети.")
# Шаг 2. Меняем IP (если словили бан или закончили цикл)
change_mobile_ip(ROTATION_LINK)
# Шаг 3. Проверяем новый IP
try:
# Важно: тут может вылететь ошибка, если 15 секунд не хватило.
# В идеале стоит добавить цикл retries (как в Части 3).
ip_new = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
print(f"Новый IP: {ip_new}")
except Exception as e:
print("Модем еще не поднялся, попробуйте увеличить time.sleep()")
💡 Лайфхак: Passive OS Fingerprint (Подмена отпечатка)
Владельцам Private тарифов в CyberYozh App доступна крутая фишка — Passive OS Fingerprint. Если вы парсите мобильную версию сайта (например, Instagram или TikTok), сайт проверяет TCP/IP заголовки. Будет странно, если ваш User-Agent говорит "Я iPhone", а сетевые пакеты говорят "Я Windows Server".
Чтобы повысить траст, синхронизируйте заголовки в Python:
headers = {
# Этот User-Agent должен совпадать с настройкой Fingerprint в личном кабинете CyberYozh!
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)..."
}
# Если в кабинете включен профиль "iOS", а вы шлете этот заголовок —
# для сайта вы будете выглядеть как 100% реальный пользователь iPhone с LTE интернетом.
⚠️ Важное предупреждение для Shared прокси
Если вы купили тариф МобильныеShared (Общие) прокси, код выше с API-ссылкой работать не будет.
Почему: На общем модеме сидят другие люди. Если вы его перезагрузите, у них пропадет интернет.
Как работать: Просто делайте запросы в цикле
while True. Система сама сменит IP по таймеру (раз в 5-10 минут). Вам нужно только обрабатывать ошибки соединения в моменты смены.
👉 Подробнее о мобильных прокси можно прочитать здесь.
🛡 Часть 4. Частые ошибки при интеграции
Даже с таким удобным инструментом бывают заминки. Вот топ-3 проблемы, с которыми пишут в нашу поддержку, и как их решить в коде:
Ошибка
ProxyErrorили соединение сброшено:Причина: Вы перепутали порты.
Решение: Проверьте, что в Python
requestsвы используете порт 5959 (HTTP). Порт 9595 предназначен только для SOCKS-клиентов (вроде Telegram или Proxifier), библиотекаrequestsработает с SOCKS5 нестабильно без дополнительных модулей.
IP меняется слишком часто (в Sticky режиме):
Причина: Вы используете логин
-res-anyвместо сгенерированного токена.Решение: Вернитесь в Генератор, выберите «Длинная сессия» и скопируйте полную строку логина с токеном
nnid.
Authentication Failed:
Причина: Лишний пробел.
Решение: При копировании из кабинета часто захватывается невидимый пробел в конце логина или пароля. Функция
strip()в Python спасет ваши нервы:PROXY_USER = "pcJcWhGag4-res-any ".strip() # Уберет пробелы
Заключение
Использование Ротационных резидентских и Мобильных приватных прокси от CyberYozh App избавляет вас от необходимости писать сложные ротаторы кода.
Нужен парсинг? Берете префикс
anyи получаете миллион IP.Нужен аккаунтинг? Берете префикс
fixи получаете стабильность.
👉 Попробуйте прямо сейчас: Зайдите в раздел «Мои прокси», сгенерируйте креды для Резидентских ротационных прокси или используйте ссылку для смены IP на Мобильных приватных прокси и запустите код выше.
