HTTP 407 Proxy Authentication Required: как исправить
407 возвращает сам прокси, а не сайт: он требует учётные данные, которых не получил. Объясняем, что именно вызывает эту ошибку, и разбираем исправления для curl, браузеров, Python, Windows и корпоративных прокси.
Что на самом деле значит 407
HTTP 407 Proxy Authentication Required приходит от прокси, а не от сайта назначения. Это способ прокси сказать: «Я перешлю твой запрос, но сначала докажи, кто ты». На уровне прокси это близнец 401: в ответе есть заголовок Proxy-Authenticate со схемой, которую прокси хочет (обычно Basic), а клиент должен повторить запрос с заголовком Proxy-Authorization. Если учётных данных нет, они поломаны или неверны — вы получаете 407.
С аутентифицированными прокси вроде s4m — SOCKS5 на 1080, HTTP на 3128, оба с USER:PASS — 407 почти всегда означает одно из четырёх: учётные данные не переданы, переданы неверные, в пароле есть спецсимволы, сломавшие разбор URL, или инструмент, которым вы пользуетесь, читает учётные данные не там, куда вы их положили (классика для Puppeteer и Scrapy). Ниже исправления от самого частого к самому редкому. Контекст — в руководстве по аутентификации прокси и в обзоре прокси.
Правильные учётные данные — для каждого инструмента
Те же USER:PASS, но в том месте, откуда их реально читает каждый инструмент. Подставьте свои учётные данные.
# curl: inline in URL, or with -U (URL-encode special chars, e.g. @ -> %40) curl -x http://USER:[email protected]:3128 https://api.ipify.org curl -x proxy.s4m.online:3128 -U USER:PASS https://api.ipify.org # wget: dedicated flags wget -e https_proxy=proxy.s4m.online:3128 \ --proxy-user=USER --proxy-password=PASS https://example.com # Python requests: credentials belong in the proxy URL # proxies = {"http": "http://USER:[email protected]:3128", # "https": "http://USER:[email protected]:3128"} # requests.get(url, proxies=proxies) # Environment variables (many tools read these): export HTTPS_PROXY="http://USER:[email protected]:3128" # Special characters? URL-encode the password: # pa@ss -> pa%40ss (Python: urllib.parse.quote(pw, safe='')) # Verify it worked: a 200 with an IP body means auth passed. curl -o /dev/null -s -w "%{http_code}\n" \ -x http://USER:[email protected]:3128 https://api.ipify.org
Чиним 407 шаг за шагом
Идите по списку сверху вниз; большинство 407 закрывается на шаге 3.
Убедитесь, что прокси требует аутентификации
Прокси s4m требуют USER:PASS. 407 означает, что прокси не получил действительных учётных данных, — так что вопрос только в том, где ваши теряются, а не нужна ли аутентификация вообще.
Проверьте учётные данные до символа
Скопируйте USER и PASS из панели заново. Лишний пробел в конце, одна не та буква или просроченный доступ — всё это даёт 407. Сначала проверьте их одной командой curl -x.
Кодируйте спецсимволы в URL
Если в пароле есть @, :, /, # или подобное — закодируйте их (@ становится %40). Без кодирования они ломают URL прокси, и клиент отправляет неверные или обрезанные учётные данные.
Кладите учётные данные туда, откуда их читает инструмент
Часть инструментов игнорирует учётные данные в URL: Puppeteer требует page.authenticate(), Scrapy — заголовка Proxy-Authorization. Подбирайте способ под инструмент, а не только под прокси.
Браузеры, Windows и корпоративные прокси
В браузере 407 обычно выглядит как всплывающее окно входа от прокси; правильные имя пользователя и пароль его закрывают. Когда браузер автоматизирован, именно это окно и есть проблема — headless Chromium нечем на него ответить. Поэтому Puppeteer использует page.authenticate(), Playwright принимает учётные данные в своём объекте прокси, а Selenium требует небольшого расширения. В Windows проверьте системный прокси в настройках и прокси отдельных приложений: устаревшее сохранённое там значение даёт 407 в инструментах, которые наследуют системный прокси.
Корпоративные прокси добавляют нюанс: некоторые используют NTLM или Kerberos вместо Basic, поэтому обычного USER:PASS мало — нужен режим NTLM в вашем инструменте. Сам s4m работает на стандартном Basic USER:PASS, так что с нашими эндпоинтами NTLM не понадобится. Если учётные данные точно верны, а 407 не уходит, проверьте порт (1080 SOCKS5, 3128 HTTP) и проверьте эндпоинт через инструменты. Родственную ошибку Chrome разбирает руководство по ERR_PROXY_CONNECTION_FAILED.
Ответы на вопросы
Ошибка 407 — это вина сайта или прокси?
Прокси. HTTP 407 Proxy Authentication Required возвращает именно прокси, а не сайт назначения: он сообщает, что ему нужны действительные учётные данные, прежде чем он перешлёт запрос. До сайта дело вообще не доходит, пока вы не аутентифицируетесь.
Почему 407 появляется даже с правильным паролем?
Чаще всего в пароле есть спецсимволы, которые ломают URL прокси, и клиент отправляет не то значение. Закодируйте их для URL (например, @ становится %40). Ещё проверьте, что инструмент читает учётные данные именно оттуда, куда вы их положили.
Как починить 407 в Puppeteer, Playwright или Selenium?
Браузеры игнорируют учётные данные во флаге прокси. В Puppeteer используйте page.authenticate(), в Playwright — поля username/password объекта прокси, в Selenium — небольшое расширение с учётными данными.
Использует ли s4m аутентификацию NTLM?
Нет. s4m использует стандартную аутентификацию Basic USER:PASS на портах 1080 (SOCKS5) и 3128 (HTTP). NTLM касается только некоторых корпоративных прокси, а не наших эндпоинтов.
Прокси с простой аутентификацией
Прокси s4m работают на обычном USER:PASS на proxy.s4m.online — без NTLM и без сюрпризов. SOCKS5 и HTTP дата-центра с оплатой за трафик, а для доступа по белому списку есть выделенный IP.
Эту страницу нашли по запросу
- HTTP 407 proxy authentication required
- как обойти блокировки сайтов
- свежий список бесплатных прокси
- как обойти геоблокировку с помощью VPN или прокси
- лучшие настройка прокси 2026
- прокси для парсинга
- wireguard инструкция
- http прокси
- купить http прокси
- прокси в WhatsApp
- socks5 прокси настройки
- авторизация прокси
Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.