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

W skrócie
  • 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ć

  1. Usuń login i hasło z --proxy-server: zostaw tylko schemat, host i port, na przykład --proxy-server=http://gw.prokso.com:823.
  2. 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.
  3. 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.
  4. Zamień socks5h:// na socks5://: według dokumentacji Chromium przy SOCKS5 przeglądarka i tak zamienia nazwy stron na adresy po stronie proxy.
  5. 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 407 zaraz po CONNECT oznacza, że odpowiada proxy. Nazwa po kodzie, na przykład NO_USER, wskazuje przyczynę.
  • Proxy odpowiedziało na CONNECT kodem 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>.

Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB

Rejestracja w minutę, dostęp od razu po płatności.

Utwórz konto