Så åtgärdar du 407 Proxy Authentication Required
Updated:
Ett 407-fel är bättre nyheter än det verkar: din enhet nådde proxyn och nätverksvägen är öppen. Proxyn meddelar helt enkelt att den inte tog emot ett giltigt användarnamn och lösenord. Därför löses nästan alla 407-fel på inloggningssidan, inte i din router eller brandvägg.
Orsaker till 407-fel, vanligast först
- Felaktigt eller saknat användarnamn/lösenord. Ett felskrivet tecken eller ett avslutande mellanslag som följt med vid kopiering. Detta förklarar de flesta 407-rapporter.
- Fält inklistrade i fel rutor. Hela raden
ip:port:user:passhamnar i fältet för Värd, eller användarnamnet hamnar i lösenordsrutan. Vissa verktyg delar upp de fyra fälten automatiskt, andra inte. - Programmet skickar aldrig inloggningsuppgifter. En proxyinställning i operativsystemet sparar endast adress och port. Program som inte kan fråga efter lösenord ansluter utan auth-header och får tillbaka 407.
- Specialtecken i en proxy-URL. I formatet
http://user:pass@host:portmåste tecken som@,:eller#i lösenordet procentkodas (@blir%40), annars delas strängen på fel ställe.
Hur ett 407-fel faktiskt ser ut
Vi återskapade felet på en testproxy, som här visas med dokumentationsadressen 203.0.113.10:8080 och ett avsiktligt felaktigt user123:pass456. Mot en HTTPS-webbplats visar curl -x http://user123:[email protected]:8080 https://example.com meddelandet curl: (56) CONNECT tunnel failed, response 407. Mot en vanlig HTTP-webbplats med -w %{http_code} visar curl enbart 407.
Lägg till -v för att se om inloggningsuppgifter ens skickades. Spårningen visar > CONNECT example.com:443 HTTP/1.1, sedan > Proxy-Authorization: Basic ... och först därefter 407. Om raden Proxy-Authorization saknas skickade klienten aldrig inloggningen.
VinaProxy proxykontroll rapporterar samma fall som auth failed (407). Headless Chrome, som saknar inloggningsruta, visar det som ERR_TUNNEL_CONNECTION_FAILED; se sidan om tunnelfel.
Åtgärder per miljö
- Windows och Chrome: Chrome följer Windows proxyinställning (Inställningar > Nätverk och internet > Proxy), som endast lagrar adress och port. Vid den första sidinläsningen öppnar Chrome en inloggningsruta för proxyns användarnamn och lösenord. Om du skrev fel och rutan inte dyker upp igen stänger du alla Chrome-fönster och öppnar på nytt.
- Antidetect-webbläsare (AdsPower, GoLogin, GenLogin): håll Värd, Port, Användarnamn och Lösenord i separata fält. Rensa lösenordsfältet helt och klistra in det igen i stället för att redigera det. Fält-för-fält-hjälp finns i installationsguiden för GoLogin.
- Telefoner: iPhone har ett reglage för Autentisering under Inställningar > Wi-Fi > (i) > Konfigurera proxy; om det är avstängt uppstår ett 407-fel. Android accepterar oftast bara värd och port, så appar som kräver inloggning kan i stället visa ett generiskt anslutningsfel.
- curl: skicka med
-U "user:pass"separat i stället för att bädda in det i URL:en, vilket kringgår problem med specialtecken. - Python requests: ange
http://user:pass@host:portför bådehttp- ochhttps-nycklarna iproxies-dicten, och koda problematiska lösenord medurllib.parse.quote.
Inloggningsuppgifterna stämmer men 407 kvarstår
Jämför protokollen härnäst. VinaProxy säljer HTTP(S)-proxier med user:pass-inloggning och även SOCKS5, så välj protokollet som visas på din beställning i kontrollpanelen. Om kontrollen svarar not socks5 använder den porten HTTP och ska inte konfigureras som SOCKS5.
Steg för steg
- 1
Kopiera proxyraden från kontrollpanelen
Öppna beställningen i din VinaProxy-kontrollpanel och kopiera hela raden i stället för att skriva den manuellt.
- 2
Kör den genom proxykontrollen
Klistra in den i proxykontrollen. Resultatet
auth failed (407)bekräftar ett problem med inloggningsuppgifterna snarare än nätverket. - 3
Fyll i användarnamn och lösenord på nytt
Rensa båda fälten i programmet och klistra in dem igen utan inledande eller avslutande mellanslag.
- 4
Matcha protokollet mot beställningen
Ställ in proxytypen på HTTP eller SOCKS5 exakt enligt beställningen och spara.
- 5
Felsök med curl -v om felet kvarstår
Kör
curl -vmed dina riktiga värden och leta efter enProxy-Authorization-rad före 407-svaret.
Vanliga frågor
Orsakas ett 407-fel av att min ISP blockerar proxyn?
Nej. 407-svaret skickas av själva proxyn, så anslutningen nådde fram. En blockerad väg visar sig i stället som en timeout eller en nekad anslutning; se proxy-timeout.
Varför frågar Chrome hela tiden efter proxyinloggningen?
Varje felaktig inmatning ger ett nytt 407-fel och Chrome frågar igen. Kontrollera Caps Lock och se till att en vietnamesisk eller annan inmatningsmetod inte lägger till accenter i lösenordet.
Hur anger jag ett lösenord som innehåller @ i en proxy-URL?
Koda det: @ som %40, : som %3A, # som %23. Med curl slipper du kodning helt genom att använda flaggan -U.
Selenium eller Puppeteer visar ett tunnelfel i stället för 407. Är det samma problem?
Oftast ja. Headless Chrome kan inte visa en inloggningsruta, så 407 visas som ERR_TUNNEL_CONNECTION_FAILED. Ange inloggningsuppgifter via bibliotekets autentiseringsmekanism, som i Selenium-guiden.
Privata proxier med tydliga inloggningsuppgifter
Varje VinaProxy-beställning ger dig en färdig ip:port:user:pass-rad att kopiera en gång och klistra in var som helst.
Se proxypriser