ERR_NO_SUPPORTED_PROXIES: Chrome не нашёл подходящего прокси
Chrome показывает эту ошибку, когда в настройках не осталось ни одного прокси, которым он умеет пользоваться. Чаще всего виновата сама строка: в ней логин и пароль или схема, которую Chromium не знает.
Обновлено · Редакция Prokso
- ERR_NO_SUPPORTED_PROXIES означает, что после проверки в Chrome не осталось ни одного подходящего прокси
- Чаще всего Chromium отбрасывает строку с логином и паролем или со схемой socks5h
- Оставьте в --proxy-server только схему, хост и порт, а логин передайте отдельно или включите доступ по IP
Что означает ошибка
В списке ошибок Chromium (net_error_list.h) код -336 ERR_NO_SUPPORTED_PROXIES описан так: в переданном списке нет поддерживаемых прокси. Это не ответ сайта и не ответ шлюза Prokso: браузер даже не пытался подключиться, потому что было не к кому.
По исходному коду Chromium, перед запросом браузер убирает из списка прокси со схемами, которые он не поддерживает для этого запроса. Остаются http, https, socks4 и socks5 (запись socks:// тоже читается как SOCKS5). Если после этого список пуст, запрос завершается именно этой ошибкой.
Важная деталь: записи, которые Chromium не смог разобрать, он молча отбрасывает. Строка с логином и паролем, например http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823, для него некорректна, потому что парсер адреса прокси не принимает учётные данные. Поэтому --proxy-server с такой строкой даёт не запрос на вход, а пустой список и ERR_NO_SUPPORTED_PROXIES.
Причины
- Логин и пароль в строке прокси. Chromium отбрасывает адрес прокси, в котором есть ЛОГИН:ПАРОЛЬ@, и остаётся без единого прокси. Так бывает с флагом
--proxy-server, в Puppeteer и в Selenium. - Неизвестная схема. Chromium знает схемы http, https, socks4, socks5 и socks. Строку
socks5h://gw.prokso.com:824, которая работает в curl и Python, Chrome не распознаёт и отбрасывает. - Ошибка в формате адреса. Пустой порт после двоеточия (
gw.prokso.com:) или лишние символы тоже делают запись некорректной, и она выпадает из списка. - Схема, недоступная для этого запроса. Например, QUIC-прокси Chromium использует только тогда, когда QUIC включён и запрос не WebSocket. Для прокси Prokso это не актуально, но ошибка будет та же.
Как исправить
- Уберите логин и пароль из
--proxy-server: оставьте только схему, хост и порт, например--proxy-server=http://gw.prokso.com:823. - Передайте учётные данные отдельно: в Puppeteer через
page.authenticate(), в Playwright через поля username и password в опции proxy. По шагам — в инструкциях Puppeteer и Playwright. - Для Chrome под Selenium, где отдельного поля для пароля нет, добавьте свой IP-адрес в доступ по IP в личном кабинете (до 5 адресов): тогда логин не нужен. Подробности — в инструкции Selenium.
- Замените
socks5h://наsocks5://: по документации Chromium, с SOCKS5 браузер и так преобразует имена сайтов в адреса на стороне прокси. - Помните, что SOCKS5 с логином и паролем Chrome не поддерживает. Для входа по логину берите HTTP-порт 823 или фиксированные порты 10000–20000, для порта 824 — доступ по IP. Что такое SOCKS5 — в глоссарии.
Как проверить, что всё заработало
Запустите браузер с исправленной строкой и откройте https://prokso.com/ip: страница вернёт JSON с IP, страной и ASN. Если там адрес прокси, настройки применились. Если вместо ERR_NO_SUPPORTED_PROXIES появилась ERR_PROXY_CONNECTION_FAILED, строка уже правильная, а проблема в подключении к шлюзу.
Диагностика за 2 минуты
Сначала вставьте строку в проверку прокси. Если там прокси работает, причина в программе или её настройках. Если нет — проверьте строку из терминала:
curl -v -x "http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823" https://api.ipify.org
- Строка
< HTTP/1.1 407сразу послеCONNECT— отвечает прокси. Название после кода, напримерNO_USER, подсказывает причину. - Прокси ответил на
CONNECTкодом 200, а дальше пришёл другой код — прокси работает, этот ответ дал сайт. - Никакого ответа, только тайм-аут — соединение не дошло до прокси: проверьте хост, порт и сеть.
Инструкции, где встречается эта ошибка
Вопросы и ответы
Почему curl работает с этой строкой, а Chrome нет?
curl принимает логин и пароль прямо в адресе прокси и знает схему socks5h. Chromium разбирает строку иначе: учётные данные в адресе прокси не принимает, а схему socks5h не знает. Полный синтаксис строк — на странице <a href="/ru/help/gateway">шлюза</a>.
Можно ли вписать логин в PAC-файл?
Нет. PAC-скрипт возвращает только тип прокси, хост и порт, например PROXY gw.prokso.com:823, а адрес с логином Chromium отбрасывает так же. Логин передают отдельно или включают доступ по IP.
Как быстро проверить, что логин и пароль правильные?
Вставьте строку в <a href="/ru/tools/proxy-checker">проверку прокси</a>. Если она проходит, дело в том, как строка передана браузеру. Если нет — пройдите <a href="/ru/help/troubleshooting">проверку по шагам</a>.
Другие ошибки прокси
Резидентские $1.59, мобильные $2.50, серверные $0.65 за 1 ГБ
Регистрация за минуту, доступы сразу после оплаты.