# 401 Unauthorized a 407 Proxy Authentication Required

> 401 Unauthorized pochodzi ze strony, 407 z proxy. Jak rozróżnić je w Python, curl i Node oraz jak naprawić.

- URL: https://crawlrelay.com/pl/docs/errors/401-unauthorized/
- Ostatnia aktualizacja: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

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.

**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

| Atrybut | Wartość |
| --- | --- |
| Błąd | 401 Unauthorized vs 407 |
| Typ | Kod statusu HTTP (4xx, błąd klienta) |
| Wysłane przez | Celowa strona, nigdy proxy |
| Zdefiniowano w | RFC 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)*

```bash
# 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:PASSWORD@gw.crawlrelay.com: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](https://crawlrelay.com/pl/docs/errors/407-proxy-authentication-required/) · [403 Forbidden](https://crawlrelay.com/pl/docs/errors/403-forbidden/) · [Sessions guide](https://crawlrelay.com/pl/docs/sessions/).

## 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

- [401 Unauthorized vs 407](https://crawlrelay.com/pl/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/pl/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/pl/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/pl/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/pl/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/pl/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/pl/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/pl/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/pl/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/pl/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/pl/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/pl/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/pl/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/pl/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/pl/docs/errors/ssl-wrong-version-number/)

**Proxy rezydencjalne z dokumentacją opisującą przypadki błędów** CrawlRelay proxy rezydencjalne od 0,50 USD/GB, ruch, który nigdy nie wygasa. [Zobacz ceny](https://crawlrelay.com/pl/pricing/) · [Szybki start](https://crawlrelay.com/pl/docs/)

---

CrawlRelay: CrawlRelay to serwis proxy rezydencjalne i mobilne proxy 4G/5G z rotacją, stworzony dla programistów i potoków danych AI: ruch bez wygasania w modelu pay-as-you-go od 0,50 USD/GB, płatny w kryptowalutach, bez konieczności przesyłania dokumentów. Bez KYC — brak dowodu, selfie i dokumentów. Płać w kryptowalutach.
