# 401 Unauthorized vs 407 Proxy Authentication Required

> 401 Unauthorized vient du site, 407 du proxy. Comment les distinguer en Python, curl et Node, et comment résoudre chacun.

- URL: https://crawlrelay.com/fr/docs/errors/401-unauthorized/
- Dernière mise à jour: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Code d'état HTTP (4xx, erreur client) : message exact dans chaque outil, causes probables par ordre, et solution efficace.

**Réponse rapide — Que signifie 401 Unauthorized vs 407 avec un proxy ?**

**Un 401 Unauthorized vient du site ; un 407 vient du proxy.** Si vous scrapez via les proxies résidentiels CrawlRelay et obtenez un 401, le proxy vous a accepté et le site demande sa propre connexion ou clé API. Les identifiants proxy ne servent pas là. Corrigez le 407 dans votre URL proxy, et gérez le 401 selon les règles du site pour son contenu protégé.

## 401 Unauthorized vs 407 en un coup d'œil

| Attribut | Valeur |
| --- | --- |
| Erreur | 401 Unauthorized vs 407 |
| Type | Code d'état HTTP (4xx, erreur client) |
| Envoyé par | Le site cible, jamais le proxy |
| Défini dans | RFC 9110, section 15.5.2 (compare 407: section 15.5.8) |
| Réessayer ? | Non. Un 401 demande des identifiants pour le site lui-même |
| Vérification initiale | Vérifiez quel serveur l'a envoyé : le site (401) ou le proxy (407) |

## Que signifie 401 Unauthorized vs 407 ?

La RFC 9110 associe ces deux codes. Un 401 porte un en-tête `WWW-Authenticate` et demande des identifiants pour le serveur d'origine. Un 407 porte un en-tête `Proxy-Authenticate` et demande des identifiants pour le proxy. Les réponses vont dans des en-têtes différents aussi : `Authorization` pour le site et `Proxy-Authorization` pour le proxy.

Les confondre est courant car les deux parlent d'authentification. Le test le plus rapide est le code d'état lui-même: 401 signifie que vous êtes passé par le proxy.

## À quoi ressemble a 401 en Python, curl, Node.js et navigateurs ?

La même erreur s'affiche différemment selon chaque outil. Voici les messages à rechercher dans vos logs :

- **Python requests :** `status_code == 401` avec un en-tête `WWW-Authenticate` (site) contre un `ProxyError` mentionnant 407 (proxy)
- **curl :** `HTTP/2 401` après un `CONNECT` réussi (site) contre un `CONNECT tunnel failed, response 407` (proxy)
- **APIs :** un corps JSON tel que `{"message": "Unauthorized"}` ou un message de token invalide

## Quelles sont les causes de a 401 ?

Probablement en premier lieu :

- **La page ou l'API nécessitent une connexion ou une clé.** C'est le site, pas le proxy, qui demande.
- **Identifiants proxy au mauvais endroit**, par exemple un en-tête `Authorization` destiné au proxy, que le site rejette.
- **Un cookie de session ou token expiré** dans un flux multi-étapes.
- **Un token lié à une IP ou une région**, donc une nouvelle sortie le rend invalide.

## Comment diagnostiquer a 401 étape par étape ?

1. Confirmez le code : 401 est le site, 407 est le proxy.
2. Lancez le test curl ci-dessous. Si vous voyez `HTTP/1.1 200 Connection established` avant le 401, le proxy est correct.
3. Vérifiez si la même URL demande une connexion dans un navigateur normal.
4. Dans un flux multi-étapes, vérifiez si le 401 commence lorsque l'IP de sortie change.

*Tester l'URL en échec avec curl (port HTTP, mode verbeux)*

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

## Comment résoudre a 401 ?

- **Pour les problèmes de proxy (407)**, mettez les identifiants dans l'URL proxy ou les réglages proxy du client, jamais dans un en-tête `Authorization`.
- **Pour une API publique nécessitant une clé**, inscrivez-vous sur le site et envoyez sa clé comme documenté.
- **Pour les sessions liées à une IP**, utilisez une session sticky pour tout le flux.
- **Pour le contenu derrière une connexion**, vérifiez les conditions du site avant d'automatiser. Scraper des comptes qui ne vous appartiennent pas, ou des données personnelles derrière des connexions, est hors de notre politique d'utilisation acceptable.

## Dois-je réessayer après a 401 ?

Ne retentez pas un 401 à l'aveugle. Il demande quelque chose que votre requête n'a pas. Rafraîchissez le token ou la session si votre flux en a une, puis essayez une fois. Plusieurs 401 répétés signifient que le contenu n'est pas public ou que votre accès est terminé.

## Quelle est l'incidence de 401 Unauthorized vs 407 sur CrawlRelay ?

Un proxy HTTP signale ses propres problèmes d'identifiants avec 407 ou un tunnel raté, pas avec 401. Si vous voyez 401 en utilisant la gateway CrawlRelay, votre requête a atteint le site, ce qui restreint rapidement le problème.

Passerelle : `gw.crawlrelay.com`, port 7777 (HTTP, HTTPS via CONNECT) et port 7778 (SOCKS5). Format du nom d'utilisateur : `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Voir aussi : [407 Proxy Authentication Required](https://crawlrelay.com/fr/docs/errors/407-proxy-authentication-required/) · [403 Forbidden](https://crawlrelay.com/fr/docs/errors/403-forbidden/) · [Guide des sessions](https://crawlrelay.com/fr/docs/sessions/).

## 401 Unauthorized vs 407 : questions fréquentes des développeurs

### Pourquoi ai-je un 401 alors que mon mot de passe proxy est correct ?

Parce qu'un 401 concerne le site, pas le proxy. Votre connexion proxy a fonctionné, et le site veut ses propres identifiants, comme une clé API, un cookie de connexion ou un token. Consultez la documentation du site. Si le contenu est derrière une connexion à laquelle vous n'avez pas droit, ne l'automatisez pas.

### Une session sticky peut-elle corriger les erreurs 401 ?

Parfois. Certains sites lient une session ou un token à l'IP qui l'a créée, donc une nouvelle sortie invalide le token et le site répond 401. Garder une session sticky pour tout le flux évite cela. Cela ne sert pas si le contenu nécessite des identifiants que vous n'avez pas.

### Où vont les identifiants proxy dans une requête HTTP ?

Dans l'en-tête `Proxy-Authorization`, que votre client construit à partir de la partie `user:password@` de l'URL proxy. Le site ne voit jamais cet en-tête, car le proxy le supprime. Les identifiants pour le site vont dans l'en-tête `Authorization` ou un cookie, que le proxy laisse passer inchangé.

## Autres erreurs de proxy dans cette référence

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

**Proxies résidentiels avec documentation couvrant les cas de défaillance** Proxies résidentiels CrawlRelay de 0,50 $US/GB, trafic sans expiration. [Voir les tarifs](https://crawlrelay.com/fr/pricing/) · [Démarrage rapide](https://crawlrelay.com/fr/docs/)

---

CrawlRelay: CrawlRelay est un service de proxy résidentiel rotatif et proxy mobile 4G/5G pour développeurs, adapté aux scrapers et pipelines de données IA : trafic prépayé sans expiration à partir de 0,50 $US/GB, paiement en crypto, sans téléchargement d’ID. Sans KYC — pas d’ID, pas de selfie, pas de documents. Payer en crypto.
