Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach: BTC, USDT, USDC, ETH, SOL, LTC
Język: Polski
Rozpocznij

Referencja błędu proxy · Kody statusu HTTP

401 Unauthorized a 407 Proxy Authentication Required

Kod statusu HTTP (4xx, błąd klienta): dokładny komunikat w każdym narzędziu, możliwe przyczyny w kolejności oraz działające rozwiązanie.

Ostatnia aktualizacja: · 4 min czytania

Szybka odpowiedź

Co oznacza 401 Unauthorized vs 407 w kontekście proxy?

401 Unauthorized pochodzi ze strony; 407 z proxy. Jeśli scrapujesz przez CrawlRelay residential proxies i dostajesz 401, znaczy że proxy Cię zaakceptowało, a strona żąda logowania lub klucza API. Dane proxy tu nie pomogą. Napraw 407 w URL proxy i obsłuż 401 wg zasad strony.

401 Unauthorized vs 407 w skrócie

Błąd401 Unauthorized vs 407
TypKod statusu HTTP (4xx, błąd klienta)
Wysłane przezCelowa strona, nigdy proxy
Zdefiniowano wRFC 9110, section 15.5.2 (compare 407: section 15.5.8)
Spróbować ponownie?Nie. 401 żąda danych uwierzytelniających do samej strony
Najpierw sprawdźSprawdź, który serwer ją wysłał: strona (401) czy proxy (407)

Co oznacza 401 Unauthorized vs 407?

RFC 9110 łączy te kody. 401 ma nagłówek WWW-Authenticate i wymaga danych uwierzytelniających dla serwera źródłowego. 407 ma nagłówek Proxy-Authenticate i wymaga danych proxy. Odpowiedzi są w różnych nagłówkach: Authorization dla strony i Proxy-Authorization dla proxy.

Często się mylą, bo oba dotyczą 'uwierzytelniania'. Najszybszym testem jest sam kod statusu: 401 oznacza przejście przez proxy.

Jak wygląda a 401 w Python, curl, Node.js i przeglądarkach?

Ten sam błąd wyświetla się inaczej w każdym narzędziu. Oto komunikaty, które warto wyszukać w logach:

  • Python requests: status_code == 401 z nagłówkiem WWW-Authenticate (strona) kontra ProxyError pokazujący 407 (proxy)
  • curl: HTTP/2 401 po poprawnym CONNECT (strona) kontra CONNECT tunnel failed, response 407 (proxy)
  • API: JSON typu {"message": "Unauthorized"} lub komunikat invalid-token

Co powoduje a 401?

Najczęściej na początku:

  • Strona/API potrzebuje logowania lub klucza. To strona, nie proxy żąda.
  • Dane proxy w niewłaściwym nagłówku, np. nagłówek Authorization dla proxy, który strona odrzuca.
  • Wygasłe ciasteczko sesji lub token w kilkuetapowym procesie.
  • Token powiązany z IP lub regionem, więc nowe wyjście go unieważnia.

Jak krok po kroku zdiagnozować a 401?

  1. Potwierdź kod: 401 to strona, 407 to proxy.
  2. Wykonaj test curl poniżej. Jeśli przed 401 zobaczysz HTTP/1.1 200 Connection established, proxy jest OK.
  3. Sprawdź, czy ten sam URL wymaga logowania w normalnej przeglądarce.
  4. W kilkuetapowym procesie sprawdź, czy 401 zaczyna się od zmiany IP wyjścia.
Przetestuj nie działający URL za pomocą curl (port HTTP, tryb verbose)
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:[email protected]:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL

Jak naprawić a 401?

  • W przypadku problemów z proxy (407), podaj dane uwierzytelniające w URL proxy lub ustawieniach klienta, nigdy w nagłówku Authorization.
  • Dla publicznego API wymagającego klucza, zarejestruj się na stronie i wyślij klucz zgodnie z dokumentacją.
  • Dla sesji powiązanych z IP, używaj sticky session dla całego przebiegu.
  • Dla treści za logowaniem, sprawdź regulamin strony przed automatyzacją. Scrapowanie kont, których nie posiadasz, lub danych osobowych za logowaniami jest poza naszą polityką użytkowania.

Czy warto ponawiać próbę po a 401?

Nie ponawiaj 401 na ślepo. Żąda czegoś, czego Twoje zapytanie nie ma. Odśwież token lub sesję, jeśli przepływ ją wymaga, i spróbuj jeszcze raz. Powtarzające się 401 oznaczają brak dostępu lub zakończenie dostępu.

Jak 401 Unauthorized vs 407 odnosi się do CrawlRelay?

Proxy HTTP zgłasza własne problemy z danymi uwierzytelniającymi kodem 407 lub błędnym tunelem, nie 401. Jeśli widzisz 401 przez CrawlRelay, Twoje zapytanie doszło do strony, co szybko zawęża problem.

Gateway: gw.crawlrelay.com, port 7777 (HTTP, HTTPS przez CONNECT) i port 7778 (SOCKS5). Format nazwy użytkownika: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. Powiązane: 407 Proxy Authentication Required · 403 Forbidden · Sessions guide.

401 Unauthorized vs 407: pytania, które zadają deweloperzy

Dlaczego mam 401 mimo prawidłowego hasła proxy?

Bo 401 dotyczy strony, nie proxy. Logowanie do proxy zadziałało, a strona żąda własnych danych, np. klucza API, ciasteczka lub tokenu. Zerknij w dokumentację strony. Jeśli treść jest chroniona, której nie masz prawa oglądać, nie automatyzuj.

Czy sticky session może naprawić błędy 401?

Czasami. Niektóre strony wiążą sesję lub token z IP, które go utworzyło, więc nowe wyjście unieważnia token i pojawia się 401. Sticky session dla całego procesu zapobiega temu. Nie pomaga, jeśli wymagana jest autoryzacja, której nie masz.

Gdzie podać dane proxy w żądaniu HTTP?

W nagłówku Proxy-Authorization, który klient wygeneruje z części user:password@ URL proxy. Strona nigdy tego nie widzi, bo proxy usuwa ten nagłówek. Dane strony idą w nagłówku Authorization lub ciasteczku, które proxy przekazuje bez zmian.

Inne błędy proxy w tym odniesieniu

Kody statusu HTTP

Błędy w przeglądarce i kliencie

Błędy połączenia i TLS

Proxy rezydencjalne z dokumentacją opisującą przypadki błędów

CrawlRelay proxy rezydencjalne od 0,50 USD/GB, ruch, który nigdy nie wygasa.

Od 0,50 USD/GB · bez KYC

Rozpocznij