Приведи друга: тебе 15% с каждого заказа, ему скидка 10%
ГлавнаяДокументация502 и 400: нет доступного выхода

502 и 400: нет доступного выхода

Обе означают, что шлюз не смог дать запрошенное. Ни одна не связана с вашими учётными данными.

400, неизвестная страна или город

У названной локации сейчас нет доступных адресов. Чаще всего это дают запросы уровня города, потому что покрытие следует за устройствами, которые оказались онлайн.

Сначала проверьте написание: дефисы вместо пробелов, код страны заглавными. Если написание верное, пул просто пуст в эту минуту.

502, вышестоящая сеть отказала

Шлюз не смог построить маршрут ни через один подходящий выход. Одиночный 502 это нормальный фоновый шум резидентской сети, и повтор обычно проходит.

Ответ 502, который держится больше минуты на одном и том же таргетинге, означает, что пул под это описание исчерпан. Расширьте таргетинг или смените страну, а если продолжается, напишите в поддержку.

Как правильно откатываться

Понижайте детализацию, а не повторяйте тот же запрос. Город до страны, страна до без ограничений, и записывайте, какой уровень реально отдал данные, чтобы датасет остался честным.

Никогда не крутите ни ту, ни другую ошибку в плотном цикле. На тарифицируемых продуктах каждая попытка стоит трафика, а на всех продуктах она откладывает откат, который бы сработал.

Лестница отката

for attempt in (city_level, country_level, no_geo):
    try:
        return fetch(url, proxy=attempt())
    except (GeoUnavailable, UpstreamRefused):
        continue
raise NoRouteAvailable

Отличить нехватку запаса от ошибки настройки

Обе ошибки описывают пул, а не ваш аккаунт, но приходят по разным причинам, и одну из них имеет смысл повторять, а другую нет.

Быстрый способ разделить: запросите тот же таргетинг без города, затем без страны. Если голый логин работает, дело в наличии на том уровне, который вы запросили.

Сужение проблемы

curl -x login_c_US_city_New-York:pass@proxy.sotaproxy.com:10000 https://api.ipify.org   # 400?
curl -x login_c_US:pass@proxy.sotaproxy.com:10000 https://api.ipify.org                 # works?
curl -x login:pass@proxy.sotaproxy.com:10000 https://api.ipify.org                      # works?

# Works at country level  -> city pool is empty right now
# Fails at every level    -> write to support, that is not normal