Näin korjaat virheen 407 Proxy Authentication Required
Updated:
Virhe 407 on parempi uutinen kuin miltä se näyttää: laitteesi sai yhteyden välityspalvelimeen ja verkkoyhteys toimii. Välityspalvelin ilmoittaa vain, ettei se saanut kelvollista käyttäjätunnusta ja salasanaa. Siksi lähes jokainen 407-virhe ratkaistaan kirjautumistiedoissa, ei reitittimessä tai palomuurissa.
Virheen 407 syyt yleisimmästä alkaen
- Väärä tai puuttuva käyttäjätunnus/salasana. Yksi kirjoitusvirhe tai salasanan perään kopioitu ylimääräinen välilyönti. Tämä selittää useimmat 407-ilmoitukset.
- Kentät liitetty vääriin kohtiin. Koko
ip:port:user:pass-rivi päätyy Host-kenttään, tai käyttäjätunnus joutuu salasanakenttään. Jotkin työkalut jakavat nämä neljä kenttää automaattisesti, toiset eivät. - Sovellus ei lähetä kirjautumistietoja lainkaan. Käyttöjärjestelmän välityspalvelinasetus tallentaa vain osoitteen ja portin. Sovellukset, jotka eivät osaa pyytää salasanaa, yhdistävät ilman todennusotsaketta ja saavat vastaukseksi 407-virheen.
- Erikoismerkit välityspalvelimen URL-osoitteessa. Muodossa
http://user:pass@host:portsalasanan merkit, kuten@,:tai#, on prosenttikoodattava (@muotoon%40), muuten merkkijono katkeaa väärästä kohdasta.
Miltä 407-virhe näyttää käytännössä
Toistimme virheen testivälityspalvelimella, jossa käytettiin dokumentaatio-osoitetta 203.0.113.10:8080 ja tarkoituksella väärää tunnusta user123:pass456. HTTPS-sivustoa vasten komento curl -x http://user123:[email protected]:8080 https://example.com tulostaa curl: (56) CONNECT tunnel failed, response 407. Tavallista HTTP-sivustoa vasten valitsimella -w %{http_code} curl tulostaa vain 407.
Lisää valitsin -v nähdäksesi, lähetettiinkö kirjautumistietoja lainkaan. Lokissa näkyy > CONNECT example.com:443 HTTP/1.1, sitten > Proxy-Authorization: Basic ... ja vasta sen jälkeen 407. Jos rivi Proxy-Authorization puuttuu, asiakasohjelmasi ei koskaan lähettänyt kirjautumistietoja.
Palvelun VinaProxy välityspalvelintarkistus ilmoittaa samassa tilanteessa auth failed (407). Headless Chrome, jossa ei ole kirjautumisikkunaa, näyttää sen virheenä ERR_TUNNEL_CONNECTION_FAILED; katso tunnelivirheen sivu.
Korjaukset ympäristöittäin
- Windows ja Chrome: Chrome noudattaa Windowsin välityspalvelinasetusta (Asetukset > Verkko ja internet > Välityspalvelin), joka sisältää vain osoitteen ja portin. Ensimmäisellä sivunlatauksella Chrome avaa kirjautumisikkunan välityspalvelimen käyttäjätunnusta ja salasanaa varten. Jos kirjoitit ne väärin eikä ikkuna avaudu uudelleen, sulje kaikki Chrome-ikkunat ja avaa selain uudelleen.
- Antidetect-selaimet (AdsPower, GoLogin, GenLogin): pidä Host, Port, Username ja Password erillisissä kentissä. Tyhjennä salasanakenttä kokonaan ja liitä salasana uudelleen sen muokkaamisen sijaan. Kenttäkohtaiset ohjeet löydät GoLogin-asennusoppaasta.
- Puhelimet: iPhonessa on Todennus-kytkin kohdassa Asetukset > Wi-Fi > (i) > Määritä välityspalvelin; jos se on pois päältä, seurauksena on 407-virhe. Android hyväksyy yleensä vain palvelimen ja portin, joten kirjautumista vaativat sovellukset saattavat näyttää sen sijaan yleisen yhteysvirheen.
- curl: välitä
-U "user:pass"erikseen sen sijaan, että sisällyttäisit sen URL-osoitteeseen, mikä välttää erikoismerkkeihin liittyvät ongelmat. - Python requests: määritä
http://user:pass@host:portproxies-sanakirjan sekähttp- ettähttps-avaimille ja koodaa erikoismerkit sisältävät salasanat funktiollaurllib.parse.quote.
Tunnukset ovat oikein, mutta 407 toistuu edelleen
Tarkista seuraavaksi protokollat. VinaProxy myy käyttäjätunnuksella ja salasanalla toimivia HTTP(S)-välityspalvelimia sekä SOCKS5-välityspalvelimia, joten valitse hallintapaneelin tilauksessasi näkyvä protokolla. Jos tarkistustyökalu vastaa not socks5, kyseinen portti käyttää HTTP-protokollaa eikä sitä pidä määrittää SOCKS5-protokollaksi.
Vaihe vaiheelta
- 1
Kopioi välityspalvelinrivi hallintapaneelista
Avaa tilaus VinaProxy-hallintapaneelissasi ja kopioi koko rivi sen sijaan, että kirjoittaisit sen käsin.
- 2
Aja se välityspalvelintarkistuksen läpi
Liitä se välityspalvelintarkistukseen. Tulos
auth failed (407)vahvistaa, että kyseessä on kirjautumistieto- eikä verkko-ongelma. - 3
Syötä käyttäjätunnus ja salasana huolellisesti uudelleen
Tyhjennä molemmat kentät ohjelmistossasi ja liitä ne uudelleen ilman alku- tai loppuvälilyöntejä.
- 4
Valitse tilauksen mukainen protokolla
Aseta välityspalvelimen tyypiksi HTTP tai SOCKS5 täsmälleen tilauksen tietojen mukaisesti ja tallenna.
- 5
Jäljitä komennolla curl -v, jos ongelma jatkuu
Aja
curl -voikeilla arvoillasi ja tarkista, näkyykö ennen 407-virhettä riviProxy-Authorization.
Usein kysytyt kysymykset
Johtuuko 407 siitä, että operaattorini (ISP) estää välityspalvelimen?
Ei. Virheen 407 lähettää välityspalvelin itse, joten yhteys meni perille. Estetty yhteys näkyy sen sijaan aikakatkaisuna tai hylättynä yhteytenä; katso välityspalvelimen aikakatkaisu.
Miksi Chrome kysyy välityspalvelimen kirjautumistietoja toistuvasti?
Jokainen väärä syöte tuottaa uuden 407-virheen, ja Chrome kysyy tietoja uudelleen. Tarkista Caps Lock ja varmista, ettei vietnamilainen tai muu syöttötapa lisää aksenttimerkkejä salasanaan.
Miten lisään @-merkin sisältävän salasanan välityspalvelimen URL-osoitteeseen?
Koodaa se: @ muotoon %40, : muotoon %3A, # muotoon %23. curl-työkalulla valitsin -U välttää koodaustarpeen kokonaan.
Selenium tai Puppeteer näyttää tunnelivirheen 407-virheen sijaan. Onko kyseessä sama ongelma?
Yleensä kyllä. Headless Chrome ei voi näyttää kirjautumisikkunaa, joten 407 näkyy virheenä ERR_TUNNEL_CONNECTION_FAILED. Määritä kirjautumistiedot kirjaston oman todennusmekanismin kautta, kuten Selenium-oppaassa.
Yksityiset välityspalvelimet selkeillä kirjautumistiedoilla
Jokainen VinaProxy-tilaus tarjoaa valmiin ip:port:user:pass-rivin, jonka voit kopioida kerralla ja liittää minne tahansa.
Katso välityspalvelinten hinnat