ERR_NO_SUPPORTED_PROXIES: Chrome nie znalazł odpowiedniego proxy
Chrome pokazuje ten błąd, gdy w ustawieniach nie zostało ani jedno proxy, z którego potrafi korzystać. Najczęściej winna jest sama linia: zawiera login i hasło albo schemat, którego Chromium nie zna.
Zaktualizowano · Redakcja Prokso
- ERR_NO_SUPPORTED_PROXIES oznacza, że po sprawdzeniu w Chrome nie zostało żadne nadające się proxy
- Najczęściej Chromium odrzuca linię z loginem i hasłem albo ze schematem socks5h
- Zostaw w --proxy-server tylko schemat, host i port, a login przekaż osobno lub włącz dostęp po IP
Co oznacza błąd
Na liście błędów Chromium (net_error_list.h) kod -336 ERR_NO_SUPPORTED_PROXIES opisano tak: na przekazanej liście nie ma obsługiwanych proxy. To nie jest odpowiedź strony ani bramy Prokso: przeglądarka nawet nie próbowała się połączyć, bo nie miała z czym.
Według kodu źródłowego Chromium przed żądaniem przeglądarka usuwa z listy proxy ze schematami, których nie obsługuje dla tego żądania. Zostają http, https, socks4 i socks5 (zapis socks:// też jest czytany jako SOCKS5). Jeśli potem lista jest pusta, żądanie kończy się właśnie tym błędem.
Ważny szczegół: wpisy, których Chromium nie potrafił odczytać, są po cichu odrzucane. Linia z loginem i hasłem, na przykład http://LOGIN:HASŁO@gw.prokso.com:823, jest dla niego niepoprawna, bo parser adresu proxy nie przyjmuje danych logowania. Dlatego --proxy-server z taką linią nie wywołuje prośby o logowanie, tylko daje pustą listę i ERR_NO_SUPPORTED_PROXIES.
Przyczyny
- Login i hasło w linii proxy. Chromium odrzuca adres proxy zawierający LOGIN:HASŁO@ i zostaje bez żadnego proxy. Tak bywa z flagą
--proxy-server, w Puppeteer i w Selenium. - Nieznany schemat. Chromium zna schematy http, https, socks4, socks5 i socks. Linii
socks5h://gw.prokso.com:824, która działa w curl i Pythonie, Chrome nie rozpoznaje i ją odrzuca. - Błąd w formacie adresu. Pusty port po dwukropku (
gw.prokso.com:) lub zbędne znaki także czynią wpis niepoprawnym i wypada on z listy. - Schemat niedostępny dla tego żądania. Na przykład proxy QUIC Chromium używa tylko wtedy, gdy QUIC jest włączony, a żądanie nie jest WebSocketem. Proxy Prokso tego nie dotyczy, ale błąd byłby ten sam.
Jak to naprawić
- Usuń login i hasło z
--proxy-server: zostaw tylko schemat, host i port, na przykład--proxy-server=http://gw.prokso.com:823. - Przekaż dane logowania osobno: w Puppeteer przez
page.authenticate(), w Playwright przez pola username i password w opcji proxy. Krok po kroku – w instrukcjach Puppeteer i Playwright. - Dla Chrome w Selenium, gdzie nie ma osobnego pola na hasło, dodaj swój adres IP do dostępu po IP w panelu klienta (do 5 adresów): wtedy login nie jest potrzebny. Szczegóły – w instrukcji Selenium.
- Zamień
socks5h://nasocks5://: według dokumentacji Chromium przy SOCKS5 przeglądarka i tak zamienia nazwy stron na adresy po stronie proxy. - Pamiętaj, że Chrome nie obsługuje SOCKS5 z loginem i hasłem. Do logowania loginem bierz port HTTP 823 lub porty stałego IP 10000–20000, dla portu 824 – dostęp po IP. Czym jest SOCKS5 – w słowniczku.
Jak sprawdzić, czy działa
Uruchom przeglądarkę z poprawioną linią i otwórz https://prokso.com/ip: strona zwróci JSON z IP, krajem i ASN. Jeśli widać tam adres proxy, ustawienia zadziałały. Jeśli zamiast ERR_NO_SUPPORTED_PROXIES pojawił się ERR_PROXY_CONNECTION_FAILED, linia jest już poprawna, a problem leży w połączeniu z bramą.
Diagnoza w 2 minuty
Najpierw wklej linię do sprawdzania proxy. Jeśli tam proxy działa, przyczyna leży w programie lub jego ustawieniach. Jeśli nie - sprawdź linię z terminala:
curl -v -x "http://LOGIN:HASŁO@gw.prokso.com:823" https://api.ipify.org
- Wiersz
< HTTP/1.1 407zaraz poCONNECToznacza, że odpowiada proxy. Nazwa po kodzie, na przykładNO_USER, wskazuje przyczynę. - Proxy odpowiedziało na
CONNECTkodem 200, a potem przyszedł inny kod - proxy działa, tę odpowiedź dała strona. - Brak odpowiedzi, tylko przekroczony czas - połączenie nie dotarło do proxy: sprawdź host, port i sieć.
Instrukcje, w których pojawia się ten błąd
Pytania i odpowiedzi (FAQ)
Dlaczego curl działa z tą linią, a Chrome nie?
curl przyjmuje login i hasło bezpośrednio w adresie proxy i zna schemat socks5h. Chromium czyta linię inaczej: nie przyjmuje danych logowania w adresie proxy i nie zna socks5h. Pełna składnia linii – na stronie <a href="/pl/help/gateway">bramy</a>.
Czy można wpisać login do pliku PAC?
Nie. Skrypt PAC zwraca tylko typ proxy, host i port, na przykład PROXY gw.prokso.com:823, a adres z loginem Chromium odrzuca tak samo. Login przekazuje się osobno albo włącza się dostęp po IP.
Jak szybko sprawdzić, czy login i hasło są poprawne?
Wklej linię do <a href="/pl/tools/proxy-checker">sprawdzania proxy</a>. Jeśli test przechodzi, problem leży w tym, jak linia trafia do przeglądarki. Jeśli nie – przejdź <a href="/pl/help/troubleshooting">sprawdzenie krok po kroku</a>.
Inne błędy proxy
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.