Ako vyriešiť chybu 407 Proxy Authentication Required
Updated:
Kód 407 je lepšia správa, než sa zdá: vaše zariadenie sa k proxy úspešne pripojilo a sieťová trasa je voľná. Proxy iba oznamuje, že nedostala platné používateľské meno a heslo. Preto sa takmer každá chyba 407 rieši na strane prihlasovacích údajov, nie vo vašom routeri či firewalle.
Príčiny chyby 407, od najpravdepodobnejších
- Nesprávne alebo chýbajúce meno/heslo. Jeden preklep alebo medzera skopírovaná na konci hesla. To vysvetľuje väčšinu hlásení chyby 407.
- Údaje vložené do nesprávnych polí. Celý riadok
ip:port:user:passskončí v poli Host alebo sa používateľské meno ocitne v poli pre heslo. Niektoré nástroje rozdelia tieto štyri polia automaticky, iné nie. - Aplikácia vôbec neodosiela prihlasovacie údaje. Nastavenie proxy v operačnom systéme ukladá iba adresu a port. Aplikácie, ktoré si nedokážu vyžiadať heslo, sa pripájajú bez autorizačnej hlavičky a vrátia kód 407.
- Špeciálne znaky v URL adrese proxy. V tvare
http://user:pass@host:portmusia byť znaky ako@,:alebo#v hesle zakódované pomocou percentuálneho kódovania (@sa zmení na%40), inak sa reťazec rozdelí na nesprávnom mieste.
Ako chyba 407 v skutočnosti vyzerá
Chybu sme nasimulovali na testovacej proxy, zobrazenej s dokumentačnou adresou 203.0.113.10:8080 a zámerne nesprávnymi údajmi user123:pass456. Pri HTTPS stránke príkaz curl -x http://user123:[email protected]:8080 https://example.com vypíše curl: (56) CONNECT tunnel failed, response 407. Pri obyčajnej HTTP stránke s parametrom -w %{http_code} vypíše curl iba 407.
Pridajte -v, aby ste videli, či sa prihlasovacie údaje vôbec odoslali. Výpis zobrazuje > CONNECT example.com:443 HTTP/1.1, potom > Proxy-Authorization: Basic ... a až potom 407. Ak riadok Proxy-Authorization chýba, váš klient prihlasovacie údaje vôbec neposlal.
Proxy checker od VinaProxy hlási rovnaký prípad ako auth failed (407). Headless Chrome, ktorý nemá prihlasovacie dialógové okno, zobrazí chybu ERR_TUNNEL_CONNECTION_FAILED; pozrite si stránku o chybe tunela.
Riešenia podľa prostredia
- Windows a Chrome: Chrome preberá nastavenie proxy zo systému Windows (Nastavenia > Sieť a internet > Proxy), kde je uložená iba adresa a port. Pri prvom načítaní stránky otvorí Chrome prihlasovacie dialógové okno na zadanie mena a hesla k proxy. Ak ste ich zadali nesprávne a okno sa znova nezobrazí, zatvorte všetky okná prehliadača Chrome a znova ho otvorte.
- Antidetect prehliadače (AdsPower, GoLogin, GenLogin): udržiavajte polia Host, Port, Username a Password oddelene. Pole pre heslo úplne vymažte a vložte ho znova namiesto jeho úpravy. Podrobný návod pre jednotlivé polia nájdete v sprievodcovi nastavením GoLogin.
- Smartfóny: iPhone má prepínač Overenie v ponuke Nastavenia > Wi-Fi > (i) > Konfigurovať proxy; ak zostane vypnutý, vznikne chyba 407. Android zvyčajne prijíma iba hostiteľa a port, takže aplikácie vyžadujúce prihlásenie môžu namiesto toho zobraziť všeobecnú chybu pripojenia.
- curl: odovzdajte
-U "user:pass"samostatne namiesto vkladania priamo do URL adresy, čím sa vyhnete problémom so špeciálnymi znakmi. - Python requests: nastavte
http://user:pass@host:portpre kľúčehttpajhttpsv slovníkuproxiesa problematické heslá zakódujte pomocouurllib.parse.quote.
Prihlasovacie údaje sú správne, ale chyba 407 pretrváva
Následne porovnajte protokoly. VinaProxy predáva HTTP(S) proxy s prihlasovaním user:pass a taktiež SOCKS5, preto zvoľte protokol uvedený na vašej objednávke v dashboarde. Ak checker odpovie not socks5, daný port komunikuje cez HTTP a nemal by byť nastavený ako SOCKS5.
Krok za krokom
- 1
Skopírujte riadok s proxy z dashboardu
Otvorte objednávku v dashboarde VinaProxy a skopírujte celý riadok namiesto jeho manuálneho prepisovania.
- 2
Overte ju cez proxy checker
Vložte ju do proxy checkera. Výsledok
auth failed (407)potvrdí problém s prihlasovacími údajmi, nie so sieťou. - 3
Znova a načisto zadajte meno a heslo
Vymažte obe polia vo vašom softvéri a vložte ich znova bez počiatočných či koncových medzier.
- 4
Prispôsobte protokol objednávke
Nastavte typ proxy na HTTP alebo SOCKS5 presne podľa objednávky a uložte zmeny.
- 5
Ak problém pretrváva, overte trasu cez curl -v
Spustite
curl -vso svojimi reálnymi hodnotami a skontrolujte prítomnosť riadkaProxy-Authorizationpred kódom 407.
Často kladené otázky
Spôsobuje chybu 407 to, že môj ISP blokuje proxy?
Nie. Kód 407 odosiela samotná proxy, takže spojenie prebehlo úspešne. Blokované pripojenie sa prejaví vypršaním časového limitu (timeout) alebo odmietnutým spojením; pozrite si proxy timeout.
Prečo si Chrome neustále pýta prihlásenie k proxy?
Každé nesprávne zadanie vráti ďalší kód 407 a Chrome si údaje vyžiada znova. Skontrolujte Caps Lock a uistite sa, že vietnamské alebo iné rozloženie klávesnice nepridáva do hesla diakritiku.
Ako vložím heslo obsahujúce @ do URL adresy proxy?
Zadefinujte ho pomocou kódovania: @ ako %40, : ako %3A, # ako %23. V nástroji curl sa vďaka prepínaču -U kódovaniu úplne vyhnete.
Selenium alebo Puppeteer zobrazuje chybu tunela namiesto 407. Ide o ten istý problém?
Zvyčajne áno. Headless Chrome nedokáže zobraziť prihlasovacie okno, takže sa kód 407 prejaví ako ERR_TUNNEL_CONNECTION_FAILED. Zadajte prihlasovacie údaje cez autorizačný mechanizmus knižnice, ako je popísané v návode pre Selenium.
Privátne proxy s prehľadnými prihlasovacími údajmi
Každá objednávka od VinaProxy vám poskytne pripravený riadok ip:port:user:pass, ktorý stačí raz skopírovať a kdekoľvek vložiť.
Zobraziť cenník proxy