Как да коригирате грешка 407 Proxy Authentication Required
Updated:
Грешка 407 е по-добра новина, отколкото изглежда: устройството ви е достигнало до проксито и мрежовият път е отворен. Проксито просто съобщава, че не е получило валидно потребителско име и парола. Ето защо почти всяка грешка 407 се решава от страната на данните за вход, а не във вашия рутер или защитна стена.
Причини за грешка 407, подредени по вероятност
- Грешно или липсващо потребителско име/парола. Един сгрешен символ или интервал в края, копиран заедно с паролата. Това обяснява повечето случаи на 407.
- Данни, поставени в грешните полета. Целият ред
ip:port:user:passпопада в полето за хост, или потребителското име се озовава в полето за парола. Някои инструменти разделят четирите полета автоматично, докато други не го правят. - Приложението изобщо не изпраща данни за вход. Прокси настройките на операционната система съхраняват само адреса и порта. Приложенията, които не могат да поискат парола, се свързват без заглавна част за автентикация и получават отговор 407.
- Специални символи в URL адреса на проксито. Във формата
http://user:pass@host:portсимволи като@,:или#в паролата трябва да бъдат процентово кодирани (@става%40), в противен случай низът се разделя на грешното място.
Как всъщност изглежда грешка 407
Възпроизведохме грешката на тестово прокси, показано тук с адреса за документация 203.0.113.10:8080 и умишлено сгрешени user123:pass456. При заявка към HTTPS сайт командата curl -x http://user123:[email protected]:8080 https://example.com извежда curl: (56) CONNECT tunnel failed, response 407. При обикновен HTTP сайт с -w %{http_code}, curl извежда само 407.
Добавете -v, за да видите дали данните за вход изобщо са изпратени. Проследяването показва > CONNECT example.com:443 HTTP/1.1, след това > Proxy-Authorization: Basic ..., и едва след това 407. Ако редът Proxy-Authorization липсва, вашият клиент никога не е изпратил данните за вход.
Инструментът proxy checker на VinaProxy отчита същия случай като auth failed (407). Headless Chrome, който няма диалогов прозорец за вход, го показва като ERR_TUNNEL_CONNECTION_FAILED; вижте страницата за грешка в тунела.
Решения според средата
- Windows и Chrome: Chrome следва прокси настройките на Windows (Настройки > Мрежа и интернет > Прокси), които съдържат само адрес и порт. При първото зареждане на страница Chrome отваря диалогов прозорец за вход с потребителско име и парола за проксито. Ако сте ги въвели грешно и прозорецът не се появява отново, затворете всички прозорци на Chrome и го отворете отново.
- Антидетект браузъри (AdsPower, GoLogin, GenLogin): дръжте Host, Port, Username и Password в отделни полета. Изчистете напълно полето за парола и го поставете отново, вместо да го редактирате. Подробни насоки за всяко поле ще намерите в ръководството за настройка на GoLogin.
- Телефони: iPhone има превключвател Authentication в Settings > Wi-Fi > (i) > Configure Proxy; ако го оставите изключен, се получава 407. Android обикновено приема само хост и порт, затова приложенията, изискващи вход, могат да покажат обща грешка при свързване.
- curl: подайте
-U "user:pass"отделно, вместо да го вграждате в URL адреса, което заобикаля проблемите със специални символи. - Python requests: задайте
http://user:pass@host:portкакто за ключаhttp, така и заhttpsв речникаproxies, и кодирайте трудните пароли сurllib.parse.quote.
Данните са правилни, но грешка 407 остава
След това сравнете протоколите. VinaProxy предлага HTTP(S) проксита с вход чрез потребителско име и парола (user:pass), както и SOCKS5, затова изберете протокола, посочен в поръчката ви в таблото за управление. Ако инструментът за проверка върне not socks5, този порт работи с HTTP и не трябва да се конфигурира като SOCKS5.
Стъпка по стъпка
- 1
Копирайте реда на проксито от таблото за управление
Отворете поръчката в таблото за управление на VinaProxy и копирайте целия ред, вместо да го въвеждате на ръка.
- 2
Проверете го през инструмента за проверка на прокси
Поставете го в proxy checker. Резултатът
auth failed (407)потвърждава проблем с данните за вход, а не мрежов проблем. - 3
Въведете отново потребителското име и паролата на чисто
Изчистете двете полета във вашия софтуер и ги поставете отново без интервали в началото или в края.
- 4
Съобразете протокола с поръчката
Задайте типа на проксито като HTTP или SOCKS5 точно както е посочено в поръчката, след което запазете.
- 5
Проследете с curl -v, ако проблемът продължава
Изпълнете
curl -vс реалните си стойности и проверете за редProxy-Authorizationпреди 407.
Често задавани въпроси
Възможно ли е грешка 407 да е причинена от блокиране на проксито от моя ISP?
Не. Грешка 407 се изпраща от самото прокси, което означава, че връзката е осъществена. Блокираният маршрут се проявява като изтичане на времето за изчакване или отказана връзка; вижте proxy timeout.
Защо Chrome продължава да иска данни за вход в проксито?
Всяко грешно въвеждане води до нова грешка 407 и Chrome пита отново. Проверете клавиша Caps Lock и се уверете, че виетнамски или друг метод на въвеждане не добавя ударения или специални знаци към паролата.
Как да поставя парола, съдържаща @, в URL адрес на прокси?
Кодирайте я: @ като %40, : като %3A, # като %23. При curl флагът -U напълно избягва необходимостта от кодиране.
Selenium или Puppeteer показва грешка в тунела вместо 407. Същият проблем ли е?
Обикновено да. Headless Chrome не може да покаже диалогов прозорец за вход, така че 407 се появява като ERR_TUNNEL_CONNECTION_FAILED. Подайте данните за вход чрез механизма за автентикация на библиотеката, както е описано в ръководството за Selenium.
Индивидуални проксита с ясни данни за вход
Всяка поръчка от VinaProxy ви дава готов ред ip:port:user:pass, който да копирате веднъж и да поставите навсякъде.
Вижте цените на прокситата