Интеграция · Ошибки и устранение неполадок
Все статусы, которые может вернуть шлюз, и способы устранения ошибок.
Ошибки шлюза сопровождаются кратким описанием причины в теле ответа. Ошибки целевого сервера передаются без изменений. Большая часть диагностики сводится к тому, чтобы различить эти два вида ошибок.
Ответы шлюза#
| Статус | Причина в теле ответа | Причина ошибки | Решение |
|---|---|---|---|
| 407 Proxy Authentication Required | invalid_credentials | Неверное имя пользователя или пароль либо IP подключения не внесён в белый список, а учётные данные не переданы | Снова скопируйте пару из панели управления; сверьте белый список с результатом команды curl https://api.ipify.org, запущенной без прокси |
| 400 Bad Request | invalid_parameter: … | Параметр имени пользователя неизвестен или имеет неверный формат либо сочетание параметров недопустимо (-state- за пределами США, -city- без -cc-) | Исправьте строку, указанную в теле ответа; см. Таргетинг и сессии |
| 402 Payment Required | insufficient_balance | Для используемой сети пула не осталось трафика либо дополнительный пользователь исчерпал свой лимит | Купите трафик или увеличьте лимит дополнительного пользователя; проверьте GET /v1/balance |
| 403 Forbidden | blocked_destination | Целевой адрес или порт запрещён (порт 25 либо адрес из нашего списка запрещённых) или учётная запись приостановлена | Прочитайте описание причины; свяжитесь с нами, если считаете, что адрес попал в список по ошибке |
| 502 Bad Gateway | no_exit_available / exit_failed | Нет подключённого устройства, соответствующего параметрам, либо выбранное устройство отключилось во время запроса | Повторите запрос один раз (при ротации уже будет выбран другой выходной узел); если ошибка повторяется, расширьте параметры таргетинга |
| 504 Gateway Timeout | target_timeout | Целевой сервер не ответил через выходной узел за отведённое время | Повторите запрос с новым IP; увеличьте тайм-аут клиента, если целевой сервер обычно отвечает медленно |
Ошибка шлюза или целевого сервера?#
Ошибка шлюза возникает до получения хотя бы одного байта от целевого сервера: при HTTPS-запросе это ответ на CONNECT, который большинство клиентов показывает как ошибку подключения или прокси, а не как HTTP-ответ. Ошибка целевого сервера приходит внутри туннеля с его собственными заголовками и телом ответа. curl -v сразу показывает разницу: посмотрите, какой ответ следует после CONNECT.
Контрольный список диагностики#
- Выполните самый простой запрос без параметров:
curl -x http://USER:[email protected]:9000 https://api.ipify.org. Если он работает, проблема в параметре или вашем клиенте. - Проверьте схему прокси: URL прокси начинается с
http://(илиsocks5h://для порта 9001), но никогда сhttps://, даже если целевой сайт использует HTTPS. - Возвращайте параметры по одному. Ответ
400указывает неверный параметр;502при узком сочетании параметров означает, что сейчас в указанном месте нет подключённых устройств. - При использовании белого списка сравните адрес в разделе Настройки → Белый список с результатом команды
curl https://api.ipify.org, запущенной на том же компьютере без прокси. Облачные серверы часто выходят в интернет через NAT-шлюз с другим адресом. - Проверьте баланс именно той сети, которую используете: трафик резидентских и мобильных прокси учитывается раздельно.
- Проверьте переменные окружения (
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY,NO_PROXY), которые могут переопределять параметры, переданные в коде. - Если сертификат TLS не проходит проверку, значит, TLS-трафик перехватывает система между вами и шлюзом (корпоративный прокси или антивирус). Шлюз никогда не изменяет сертификаты.
Симптомы и их обычные причины#
| Что вы видите | Что это обычно означает | Что делать |
|---|---|---|
curl: (56) Received HTTP code 407 from proxy after CONNECT | Учётные данные отклонены | Скопируйте их заново; если вы задали собственный пароль, закодируйте специальные символы в процентах |
| Один и тот же IP при каждом запросе | Клиент повторно использует одно keep-alive-соединение либо в имени пользователя остался -sid- | Закрывайте соединение между запросами или удалите идентификатор сессии |
Разный IP при каждом запросе, хотя задан -sid- | Время жизни меньше интервала между запросами либо идентификатор меняется при каждом запросе (например, в шаблоне используется случайное значение) | Зафиксируйте идентификатор и увеличьте -ttl- |
Connection reset by peer во время загрузки | Домашнее устройство отключилось от сети | Повторите запрос; при ротации уже будет использован другой выходной узел, а в закреплённой сессии следующий запрос получит новый IP |
| В curl работает, а в браузере — нет | В браузере не задан пароль прокси либо флаг игнорирует учётные данные | Используйте аутентификацию Playwright или Puppeteer либо белый список |
| Целевой сайт отвечает кодом 403 или показывает CAPTCHA | Целевой сайт оценивает посещение, а не сам прокси | Перейдите на резидентские или мобильные прокси, добавьте закреплённую сессию для многоэтапных сценариев, согласуйте заголовки со страной выходного узла и ограничьте частоту запросов к каждому домену |
| Всё работает медленно | Выходной узел расположен далеко или домашнее устройство подключено по медленной линии | Выберите ближайшую к целевому сайту страну, используйте короткие сессии, чтобы следующая попала на более быстрый канал, либо выберите серверные или ISP-прокси ради максимальной скорости |
SSL certificate problem | Перехват TLS на вашей стороне | Отключите перехват или добавьте его корневой сертификат в доверенные; шлюз здесь ни при чём |
Проблема не решена?#
Отправьте нам точный запрос (удалив учётные данные), метку времени в UTC, полученные статус и тело ответа, а также IP выходного узла, если запрос прошёл. На странице контактов указано, как связаться с командой; владельцы учётных записей могут открыть обращение из панели управления.