Kako odpraviti napako 407 Proxy Authentication Required
Updated:
Koda 407 je boljša novica, kot se zdi na prvi pogled: vaša naprava je dosegla proxy in omrežna pot je odprta. Posredniški strežnik zgolj sporoča, da ni prejel veljavnega uporabniškega imena in gesla. Zato se skoraj vsaka napaka 407 odpravi pri poverilnicah in ne v usmerjevalniku ali požarnem zidu.
Vzroki za napako 407 (od najpogostejših)
- Napačno ali manjkajoče uporabniško ime/geslo. En napačno vnesen znak ali presledek na koncu, kopiran skupaj z geslom. To pojasni večino primerov napake 407.
- Polja, prilepljena v napačna okenca. Celotna vrstica
ip:port:user:passpristane v polju za gostitelja (Host) ali pa se uporabniško ime znajde v polju za geslo. Nekatera orodja štiri polja razdelijo samodejno, druga ne. - Aplikacija sploh ne pošlje poverilnic. Nastavitev proxyja v operacijskem sistemu shrani le naslov in vrata. Aplikacije, ki ne morejo zahtevati gesla, se povežejo brez glave za avtentikacijo in prejmejo kodo 407.
- Posebni znaki v URL-ju proxyja. V obliki
http://user:pass@host:portje treba znake, kot so@,:ali#v geslu, odstotkovno kodirati (@postane%40), sicer se niz razdeli na napačnem mestu.
Kako je napaka 407 videti v praksi
Napako smo ponovili na testnem proxyju, prikazanem z dokumentacijskim naslovom 203.0.113.10:8080 in namerno napačnimi podatki user123:pass456. Pri povezavi na spletno mesto HTTPS ukaz curl -x http://user123:[email protected]:8080 https://example.com izpiše curl: (56) CONNECT tunnel failed, response 407. Pri navadnem spletnem mestu HTTP z -w %{http_code} curl izpiše le 407.
Dodajte -v, da preverite, ali so bile poverilnice sploh poslane. Izpis sledenja prikazuje > CONNECT example.com:443 HTTP/1.1, nato > Proxy-Authorization: Basic ... in šele nato kodo 407. Če vrstica Proxy-Authorization manjka, vaš odjemalec sploh ni poslal podatkov za prijavo.
Orodje VinaProxy proxy checker isti primer označi kot auth failed (407). Brezglavi brskalnik Chrome, ki nima pogovornega okna za prijavo, napako prikaže kot ERR_TUNNEL_CONNECTION_FAILED; oglejte si stran o napaki predora.
Rešitve glede na okolje
- Windows in Chrome: Chrome sledi nastavitvam proxyja v sistemu Windows (Nastavitve > Omrežje in internet > Posredniški strežnik), ki vsebujejo le naslov in vrata. Ob prvem nalaganju strani Chrome odpre pogovorno okno za vnos uporabniškega imena in gesla za proxy. Če ste ju vnesli napačno in se okno ne prikaže znova, zaprite vsa okna brskalnika Chrome in ga ponovno odprite.
- Brskalniki antidetect (AdsPower, GoLogin, GenLogin): ohranite polja Host, Port, Username in Password ločena. Polje za geslo popolnoma izbrišite in ga znova prilepite, namesto da ga urejate. Navodila po posameznih poljih so v vodniku za namestitev GoLogin.
- Telefoni: iPhone ima stikalo Preverjanje pristnosti pod Nastavitve > Wi-Fi > (i) > Konfiguriraj proxy; če ga pustite izklopljenega, pride do kode 407. Android običajno sprejme le gostitelja in vrata, zato lahko aplikacije, ki zahtevajo prijavo, namesto tega prikažejo splošno napako povezave.
- curl: parameter
-U "user:pass"posredujte ločeno, namesto da ga vgradite v URL, s čimer se izognete težavam s posebnimi znaki. - Python requests: nastavite
http://user:pass@host:portza ključahttpinhttpsv slovarjuproxiester zapletena gesla zakodirajte zurllib.parse.quote.
Poverilnice so pravilne, vendar koda 407 ostaja
Nato primerjajte protokole. VinaProxy ponuja proxyje HTTP(S) s prijavo user:pass ter tudi SOCKS5, zato izberite protokol, naveden pri vašem naročilu na nadzorni plošči. Če orodje za preverjanje javi not socks5, ta vrata uporabljajo HTTP in jih ne smete konfigurirati kot SOCKS5.
Navodila po korakih
- 1
Kopirajte vrstico proxyja z nadzorne plošče
Odprite naročilo na nadzorni plošči VinaProxy in raje kopirajte celotno vrstico, namesto da jo vnašate ročno.
- 2
Preverite jo z orodjem proxy checker
Prilepite jo v proxy checker. Rezultat
auth failed (407)potrjuje težavo s poverilnicami in ne z omrežjem. - 3
Znova natančno vnesite uporabniško ime in geslo
Počistite obe polji v svoji programski opremi in ju znova prilepite brez presledkov na začetku ali koncu.
- 4
Uskladite protokol z naročilom
Nastavite vrsto proxyja na HTTP ali SOCKS5 točno tako, kot je navedeno v naročilu, nato shranite.
- 5
Če težava ostaja, preverite s curl -v
Zaženite
curl -vs svojimi dejanskimi vrednostmi in preverite, ali se pred kodo 407 pojavi vrsticaProxy-Authorization.
Pogosta vprašanja
Ali napako 407 povzroča moj ponudnik interneta (ISP), ki blokira proxy?
Ne. Kodo 407 pošlje sam proxy, kar pomeni, da je povezava uspela. Blokirana pot se namesto tega pokaže kot potek časa ali zavrnjena povezava; oglejte si potek časa proxyja.
Zakaj Chrome nenehno zahteva prijavo v proxy?
Vsak napačen vnos sproži novo kodo 407, zato Chrome znova zahteva podatke. Preverite tipko Caps Lock in se prepričajte, da vietnamska ali druga metoda vnosa geslu ne dodaja naglasov.
Kako v URL proxyja vnesem geslo, ki vsebuje @?
Kodirajte ga: @ kot %40, : kot %3A, # kot %23. Pri ukazu curl se z zastavico -U kodiranju popolnoma izognete.
Selenium ali Puppeteer namesto 407 prikazuje napako predora. Gre za isto težavo?
Običajno da. Brezglavi Chrome ne more prikazati pogovornega okna za prijavo, zato se koda 407 pojavi kot ERR_TUNNEL_CONNECTION_FAILED. Poverilnice posredujte prek mehanizma za preverjanje pristnosti v knjižnici, kot je opisano v vodniku za Selenium.
Zasebni proxyji z jasnimi poverilnicami
Vsako naročilo pri VinaProxy vam omogoča pripravljeno vrstico ip:port:user:pass, ki jo enkrat kopirate in prilepite kamor koli.
Oglejte si cene proxyjev