Cara membetulkan 407 Proxy Authentication Required
Updated:
Ralat 407 sebenarnya berita yang lebih baik daripada yang disangka: peranti anda berjaya menghubungi proksi dan laluan rangkaian terbuka. Proksi hanya menyatakan bahawa ia tidak menerima nama pengguna dan kata laluan yang sah. Itulah sebabnya hampir setiap ralat 407 diselesaikan di bahagian kelayakan masuk, bukan pada penghala atau tembok api anda.
Punca ralat 407, bermula dengan yang paling kerap berlaku
- Nama pengguna/kata laluan salah atau tiada. Satu aksara yang tersilap taip, atau ruang kosong di hujung yang tersalin bersama kata laluan. Ini menjelaskan kebanyakan laporan 407.
- Medan ditampal ke dalam kotak yang salah. Seluruh baris
ip:port:user:passdimasukkan ke dalam kotak Hos, atau nama pengguna berada dalam kotak kata laluan. Sesetengah alat membahagikan empat medan ini untuk anda secara automatik, manakala yang lain tidak. - Aplikasi langsung tidak menghantar kelayakan masuk. Tetapan proksi sistem pengendalian hanya menyimpan alamat dan port. Aplikasi yang tidak dapat meminta kata laluan akan bersambung tanpa pengepala pengesahan dan menerima respons 407.
- Aksara khas di dalam URL proksi. Dalam format
http://user:pass@host:port, aksara seperti@,:atau#dalam kata laluan mesti dikodkan peratus (@menjadi%40), jika tidak rentetan tersebut akan terpisah di tempat yang salah.
Bagaimana rupa sebenar ralat 407
Kami menghasilkan semula ralat ini pada proksi ujian, dipaparkan di sini menggunakan alamat dokumentasi 203.0.113.10:8080 dan user123:pass456 yang sengaja disalahkan. Terhadap tapak HTTPS, curl -x http://user123:[email protected]:8080 https://example.com memaparkan curl: (56) CONNECT tunnel failed, response 407. Terhadap tapak HTTP biasa dengan -w %{http_code}, curl hanya memaparkan 407.
Tambah -v untuk melihat sama ada kelayakan masuk telah dihantar. Jejak menunjukkan > CONNECT example.com:443 HTTP/1.1, kemudian > Proxy-Authorization: Basic ..., dan hanya selepas itu 407 dipaparkan. Jika baris Proxy-Authorization tiada, klien anda langsung tidak menghantar log masuk.
Alat pemeriksa proksi VinaProxy melaporkan kes yang sama sebagai auth failed (407). Headless Chrome, yang tidak mempunyai dialog log masuk, memaparkannya sebagai ERR_TUNNEL_CONNECTION_FAILED; lihat halaman ralat terowong.
Penyelesaian mengikut persekitaran
- Windows dan Chrome: Chrome mengikut tetapan proksi Windows (Tetapan > Rangkaian & internet > Proksi), yang hanya menyimpan alamat dan port. Pada muatan halaman pertama, Chrome akan membuka dialog log masuk untuk nama pengguna dan kata laluan proksi. Jika anda tersilap taip dan dialog tersebut tidak muncul semula, tutup semua tetingkap Chrome dan buka semula.
- Penyemak imbas antidetect (AdsPower, GoLogin, GenLogin): kekalkan Hos, Port, Nama Pengguna dan Kata Laluan dalam medan berasingan. Kosongkan medan kata laluan sepenuhnya dan tampal semula dan bukannya mengeditnya. Panduan medan demi medan ada dalam panduan persediaan GoLogin.
- Telefon pintar: iPhone mempunyai suis Pengesahan di bawah Tetapan > Wi-Fi > (i) > Konfigurasikan Proksi; membiarkannya dimatikan akan menghasilkan 407. Android biasanya hanya menerima hos dan port, jadi aplikasi yang memerlukan log masuk mungkin memaparkan ralat sambungan generik sebaliknya.
- curl: hantar
-U "user:pass"secara berasingan dan bukannya menyematkannya ke dalam URL, bagi mengelakkan masalah aksara khas. - Python requests: tetapkan
http://user:pass@host:portuntuk kedua-dua kuncihttpdanhttpsdalam kamusproxies, dan kodkan kata laluan yang kompleks menggunakanurllib.parse.quote.
Kelayakan masuk betul tetapi ralat 407 masih kekal
Seterusnya, bandingkan protokol. VinaProxy menjual proksi HTTP(S) dengan log masuk user:pass dan juga SOCKS5, jadi pilih protokol yang tertera pada pesanan anda di papan pemuka. Jika pemeriksa membalas not socks5, port tersebut menggunakan HTTP dan tidak boleh dikonfigurasikan sebagai SOCKS5.
Langkah demi langkah
- 1
Salin baris proksi dari papan pemuka
Buka pesanan dalam papan pemuka VinaProxy anda dan salin baris penuh dan bukannya menaipnya.
- 2
Uji melalui pemeriksa proksi
Tampalkannya ke dalam pemeriksa proksi. Hasil
auth failed (407)mengesahkan masalah kelayakan masuk dan bukannya isu rangkaian. - 3
Masukkan semula nama pengguna dan kata laluan dengan teliti
Kosongkan kedua-dua medan dalam perisian anda dan tampal semula tanpa sebarang ruang kosong di awal atau di hujung.
- 4
Padankan protokol dengan pesanan
Tetapkan jenis proksi kepada HTTP atau SOCKS5 tepat seperti yang tertera pada pesanan, kemudian simpan.
- 5
Jejak dengan curl -v jika masalah berterusan
Jalankan
curl -vdengan nilai sebenar anda dan periksa kewujudan barisProxy-Authorizationsebelum 407.
Soalan lazim
Adakah ralat 407 berpunca daripada ISP saya menyekat proksi?
Tidak. Ralat 407 dihantar oleh proksi itu sendiri, jadi sambungan sebenarnya berjaya disambung. Laluan yang disekat biasanya dipaparkan sebagai masa tamat atau sambungan ditolak; lihat proksi tamat masa.
Mengapakah Chrome kerap meminta log masuk proksi?
Setiap percubaan yang salah akan menerima 407 lagi dan Chrome akan memintanya semula. Semak Caps Lock dan pastikan kaedah input bahasa Vietnam atau kaedah input lain tidak menambah tanda aksen pada kata laluan.
Bagaimanakah cara memasukkan kata laluan yang mengandungi @ ke dalam URL proksi?
Kodkannya: @ sebagai %40, : sebagai %3A, # sebagai %23. Dengan curl, bendera -U mengelakkan keperluan pengekodan sama sekali.
Selenium atau Puppeteer memaparkan ralat terowong dan bukannya 407. Masalah yang sama?
Kebiasaannya ya. Headless Chrome tidak dapat memaparkan dialog log masuk, jadi 407 muncul sebagai ERR_TUNNEL_CONNECTION_FAILED. Berikan kelayakan masuk melalui mekanisme pengesahan pustaka tersebut, seperti dalam panduan Selenium.
Proksi persendirian dengan kelayakan masuk yang jelas
Setiap pesanan VinaProxy menyediakan baris ip:port:user:pass yang sedia untuk disalin sekali dan ditampal di mana-mana sahaja.
Lihat harga proksi