Како решити грешку 407 Proxy Authentication Required
Updated:
Грешка 407 је боља вест него што изгледа: ваш уређај је дошао до проксија и мрежна путања је отворена. Прокси само јавља да није примио важеће корисничко име и лозинку. Због тога се скоро свака грешка 407 решава на страни параметара за пријаву, а не у рутеру или заштитном зиду.
Узроци грешке 407, од најчешћих ка ређим
- Погрешно или недостајуће корисничко име / лозинка. Један погрешно откуцан знак или размак на крају копиран заједно са лозинком. Ово објашњава већину 407 пријава.
- Поља налепљена у погрешне кућице. Цео ред
ip:port:user:passзаврши у пољу за Host, или корисничко име оде у поље за лозинку. Неки алати сами деле ова четири поља, а други не. - Апликација уопште не шаље податке за пријаву. Прокси подешавање у оперативном систему чува само адресу и порт. Апликације које не могу да затраже лозинку повезују се без заглавља за аутентификацију и добијају назад 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 недостаје, ваш клијент никада није послао пријаву.
VinaProxy проверавач проксија исти случај пријављује као auth failed (407). Headless Chrome, који нема прозор за пријаву, приказује је као ERR_TUNNEL_CONNECTION_FAILED; погледајте страницу о грешци тунела.
Решења по окружењима
- Windows и Chrome: Chrome прати Windows прокси подешавања (Подешавања > Мрежа и интернет > Прокси), која садрже само адресу и порт. При првом учитавању странице Chrome отвара дијалог за пријаву са корисничким именом и лозинком за прокси. Ако сте погрешно укуцали и дијалог се не враћа, затворите све Chrome прозоре и поново их отворите.
- Antidetect прегледачи (AdsPower, GoLogin, GenLogin): држите Host, Port, Username и Password у засебним пољима. Потпуно испразните поље за лозинку и налепите је поново уместо да је мењате. Помоћ по пољима налази се у водичу за подешавање GoLogin-а.
- Телефони: iPhone има прекидач Аутентификација у оквиру Settings > Wi-Fi > (i) > Configure Proxy; ако га оставите искљученог, долази до грешке 407. Android обично прихвата само host и port, па апликације којима је потребна пријава могу уместо тога приказати општу грешку у вези.
- 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
Проверите га кроз проверу проксија
Налепите га у проверавач проксија. Резултат
auth failed (407)потврђује проблем са подацима за пријаву, а не са мрежом. - 3
Поново уредно унесите корисничко име и лозинку
Обришите оба поља у свом софтверу и налепите их поново без размака на почетку или крају.
- 4
Ускладите протокол са поруџбином
Подесите тип проксија на HTTP или SOCKS5 тачно онако како је наведено у поруџбини, па сачувајте.
- 5
Испратите уз curl -v ако се проблем настави
Покрените
curl -vса својим правим вредностима и потражите линијуProxy-Authorizationпре 407.
Често постављана питања
Да ли је 407 последица тога што мој ISP блокира прокси?
Не. Грешку 407 шаље сам прокси, што значи да је веза успостављена. Блокирана путања се уместо тога приказује као истек времена или одбијена веза; погледајте истек времена проксија.
Зашто 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 ред који једном копирате и налепите било где.
Погледајте цене проксија