VVinaProxy

Ինչպես ուղղել 407 Proxy Authentication Required սխալը

Updated:

407-ը ավելի լավ նորություն է, քան թվում է. ձեր սարքը կապվել է պրոքսիի հետ, և ցանցային ուղին բաց է: Պրոքսին պարզապես հայտնում է, որ չի ստացել վավեր օգտանուն և գաղտնաբառ: Ահա թե ինչու գրեթե յուրաքանչյուր 407 սխալ լուծվում է մուտքային տվյալների մակարդակում, ոչ թե երթուղիչում կամ firewall-ում:

Անհատական պրոքսիներ՝ հստակ մուտքային տվյալներով

407 սխալի պատճառները՝ ըստ հավանականության

  • Սխալ կամ բացակայող օգտանուն/գաղտնաբառ: Մեկ սխալ մուտքագրված նիշ կամ գաղտնաբառի հետ պատճենված ավելորդ բացատ: Սա բացատրում է 407 սխալների մեծ մասը:
  • Սխալ դաշտերում տեղադրված տվյալներ: Ամբողջ ip:port:user:pass տողը հայտնվում է Host դաշտում, կամ օգտանունը՝ գաղտնաբառի դաշտում: Որոշ գործիքներ ավտոմատ բաժանում են չորս դաշտերը, մյուսները՝ ոչ:
  • Հավելվածը չի ուղարկում մուտքային տվյալները: Օպերացիոն համակարգի պրոքսի կարգավորումները պահպանում են միայն հասցեն և պորտը: Այն ծրագրերը, որոնք չեն կարողանում գաղտնաբառ պահանջել, միանում են առանց նույնականացման վերնագրի (auth header) և ստանում 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-ի proxy checker-ը նույն դեպքը գրանցում է որպես auth failed (407): Headless Chrome-ը, որը չունի մուտքի պատուհան, այն ցուցադրում է որպես ERR_TUNNEL_CONNECTION_FAILED. տեսեք tunnel-ի սխալի էջը:

Լուծումներն ըստ միջավայրի

  • Windows և Chrome: Chrome-ն օգտագործում է Windows-ի պրոքսիի կարգավորումները (Կարգավորումներ > Ցանց և ինտերնետ > Պրոքսի), որոնք պարունակում են միայն հասցեն և պորտը: Էջի առաջին բեռնման ժամանակ Chrome-ը բացում է մուտքի պատուհան պրոքսիի օգտանվան և գաղտնաբառի համար: Եթե այն սխալ եք մուտքագրել, իսկ պատուհանն այլևս չի հայտնվում, փակեք Chrome-ի բոլոր պատուհանները և կրկին բացեք:
  • Հակադետեկտ բրաուզերներ (AdsPower, GoLogin, GenLogin): պահեք Host-ը, Port-ը, Username-ը և Password-ը առանձին դաշտերում: Ամբողջությամբ մաքրեք գաղտնաբառի դաշտը և տեղադրեք այն նորից՝ խմբագրելու փոխարեն: Յուրաքանչյուր դաշտի մանրամասն օգնությունը հասանելի է GoLogin-ի կարգավորման ուղեցույցում:
  • Հեռախոսներ: iPhone-ում Authentication անջատիչը գտնվում է Settings > Wi-Fi > (i) > Configure Proxy բաժնում. այն անջատված թողնելը հանգեցնում է 407 սխալի: Android-ը սովորաբար ընդունում է միայն host և port, ուստի մուտք պահանջող հավելվածները կարող են ցուցադրել կապի ընդհանուր սխալ:
  • curl: փոխանցեք -U "user:pass" առանձին՝ URL-ի մեջ ներառելու փոխարեն, ինչը թույլ կտա խուսափել հատուկ նիշերի հետ կապված խնդիրներից:
  • Python requests: սահմանեք http://user:pass@host:port արժեքը proxies բառարանի և՛ http, և՛ https բանալիների համար, իսկ բարդ գաղտնաբառերը կոդավորեք urllib.parse.quote-ի միջոցով:

Մուտքային տվյալները ճիշտ են, բայց 407-ը չի վերանում

Հաջորդիվ համեմատեք պրոտոկոլները: VinaProxy-ը տրամադրում է HTTP(S) պրոքսիներ user:pass մուտքով, ինչպես նաև SOCKS5, ուստի ընտրեք վահանակում ձեր պատվերում նշված պրոտոկոլը: Եթե ստուգիչը պատասխանում է not socks5, ապա այդ պորտն աշխատում է HTTP-ով և չպետք է կարգավորվի որպես SOCKS5:

Քայլ առ քայլ

  1. 1

    Պատճենեք պրոքսիի տողը վահանակից

    Բացեք պատվերը ձեր VinaProxy վահանակում և մուտքագրելու փոխարեն պատճենեք ամբողջական տողը:

  2. 2

    Ստուգեք այն պրոքսիի ստուգիչով

    Տեղադրեք այն proxy checker-ում: auth failed (407) արդյունքը հաստատում է, որ խնդիրը մուտքային տվյալների մեջ է, ոչ թե ցանցի:

  3. 3

    Կրկին մուտքագրեք օգտանունն ու գաղտնաբառը

    Մաքրեք երկու դաշտերն էլ ձեր ծրագրում և տեղադրեք դրանք նորից՝ առանց սկզբի կամ վերջի բացատների:

  4. 4

    Համապատասխանեցրեք պրոտոկոլը պատվերին

    Սահմանեք պրոքսիի տեսակը որպես HTTP կամ SOCKS5՝ ճիշտ այնպես, ինչպես նշված է պատվերում, ապա պահպանեք:

  5. 5

    Հետագծեք curl -v հրամանով, եթե խնդիրը շարունակվում է

    Գործարկեք curl -v ձեր իրական տվյալներով և ստուգեք Proxy-Authorization տողի առկայությունը մինչև 407-ը:

Հաճախ տրվող հարցեր

Արդյո՞ք 407-ի պատճառը իմ ISP-ի կողմից պրոքսիի արգելափակումն է:

Ոչ: 407-ն ուղարկվում է հենց պրոքսիի կողմից, այսինքն՝ կապը հաստատվել է: Արգելափակված ուղին արտահայտվում է timeout-ով կամ մերժված միացմամբ. տեսեք proxy timeout էջը:

Ինչո՞ւ է Chrome-ը շարունակ պահանջում պրոքսիի մուտքային տվյալները:

Յուրաքանչյուր սխալ մուտքագրում ստանում է նոր 407, և Chrome-ը նորից է հարցնում: Ստուգեք Caps Lock-ը և համոզվեք, որ վիետնամերեն կամ այլ մուտքագրման եղանակը գաղտնաբառին շեշտադրություններ չի ավելացնում:

Ինչպե՞ս ներառել @ պարունակող գաղտնաբառը պրոքսիի URL-ում:

Կոդավորեք այն՝ @-ը որպես %40, :-ը որպես %3A, #-ը որպես %23: curl-ի դեպքում -U դրոշակը թույլ է տալիս ընդհանրապես խուսափել կոդավորումից:

Selenium-ը կամ Puppeteer-ը 407-ի փոխարեն ցույց են տալիս tunnel-ի սխալ: Խնդիրը նո՞ւյնն է:

Սովորաբար այո: Headless Chrome-ը չի կարող ցուցադրել մուտքի պատուհան, ուստի 407-ը հայտնվում է որպես ERR_TUNNEL_CONNECTION_FAILED: Տրամադրեք մուտքային տվյալները գրադարանի նույնականացման մեխանիզմի միջոցով, ինչպես նշված է Selenium guide-ում:

Անհատական պրոքսիներ՝ հստակ մուտքային տվյալներով

VinaProxy-ի յուրաքանչյուր պատվեր ձեզ տրամադրում է պատրաստի ip:port:user:pass տող, որը կարող եք մեկ անգամ պատճենել և տեղադրել ցանկացած վայրում:

Տեսնել պրոքսիների գները

Related articles

Պրոքսիի սխալներ
ERR_TUNNEL_CONNECTION_FAILED սխալի շտկումը պրոքսիի հետ
ERR_TUNNEL_CONNECTION_FAILED նշանակում է՝ Chrome-ը հասել է պրոքսիին, բայց HTTPS թունել չկա: Ինչպես կարդալ CONNECT կոդը և ուղղել Chrome, Puppeteer, Android-ում:
Անվճար գործիքներ
Proxy Checker. Ստուգեք ձեր պրոքսիներն առցանց
Անվճար proxy checker. տեղադրեք մինչև 100 պրոքսի ip:port:user:pass ձևաչափով և ստուգեք կարգավիճակը, exit IP-ն ու latency-ն առցանց: Իմացեք սխալների իմաստը:
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի Google Chrome-ում
Կարգավորեք VinaProxy HTTP(S) պրոքսին Google Chrome-ում առանց համակարգի IP-ն փոխելու՝ ընդլայնումների, --proxy-server դրոշակների կամ առանձին պրոֆիլների միջոցով։
Պրոքսիի կարգավորում
Ինչպես օգտագործել պրոքսի cURL-ի հետ (հրամանի տողի շարահյուսություն և վրիպազերծում)
Ինչպես օգտագործել curl-ը նույնականացված HTTP(S) պրոքսիներով (-x http://user:pass@ip:port և -U) Linux, macOS ու Windows-ում՝ ստուգելով header-ներն ու latency-ն։
Պրոքսիի կարգավորում
Ինչպես օգտագործել պրոքսի Python Requests-ում (HTTP/HTTPS և Session pooling)
Կարգավորեք աուտենտիֆիկացված HTTP(S) պրոքսիներ Python requests-ում և requests.Session()-ում: Մշակեք 407 ProxyError սխալները և ռոտացրեք ստատիկ IP-ների փուլերը:
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի GoLogin-ում (Orbita զննարկիչ)
Քայլ առ քայլ ուղեցույց GoLogin-ում HTTP ip:port:user:pass պրոքսիներ ավելացնելու համար. կարգավորեք Orbita-ի WebRTC-ն ու ժամային գոտին: Տեսեք բոլոր քայլերը:
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի Windows 10-ում և Windows 11-ում
Կարգավորեք VinaProxy HTTP(S) պրոքսիները Windows 10-ում և Windows 11-ում՝ WinINET համակարգային կարգավորումների, PowerShell-ի կամ netsh winhttp-ի միջոցով:
Պրոքսիի կարգավորում
Ինչպես կարգավորել պրոքսի GenLogin-ում (մեկ պրոֆիլ և զանգվածային ներմուծում)
Կարգավորեք HTTP ip:port:user:pass պրոքսիները GenLogin հակադետեկտ բրաուզերում: Համաժամեցրեք ժամային գոտին ու WebRTC-ն և շտկեք պրոֆիլի միացման խնդիրները: