Tous les outils

CORS tester

Donnez l'URL que vous appelez et l'origine depuis laquelle vous l'appelez. Nous faisons la requête depuis notre serveur et vous disons quel en-tête Access-Control manque ou est faux.

La requête que vous voulez faire

L'URL complète vers laquelle part la requête, chemin compris.
Le schéma et l'hôte depuis lesquels votre page est servie, sans chemin.
Séparés par des virgules, et laissez vide si la requête n'envoie aucun en-tête propre. Nommer content-type compte comme un en-tête à vous, car le préflight du navigateur dépend de la valeur envoyée. Les en-têtes ordinaires comme accept ne sont pas demandés, puisqu'un navigateur ne les demande pas non plus.

Cet outil tourne sur nos serveurs. Nous faisons la requête depuis une adresse publique et vous montrons les en-têtes revenus, et nous n'envoyons jamais vos cookies ni de corps de requête.

Ce qu'est CORS, et ce qu'est un préflight

Un navigateur ne laisse pas une origine lire la réponse d'une autre à moins que la seconde ne l'autorise. Elle l'autorise avec Access-Control-Allow-Origin dans la réponse. Pour tout ce qui dépasse un simple GET ou POST avec des en-têtes ordinaires, le navigateur demande d'abord par une requête OPTIONS appelée préflight, et n'envoie la vraie requête que si la réponse autorise la méthode et les en-têtes qu'il s'apprête à utiliser.

Comment lire le verdict

Chaque ligne correspond à un en-tête que le navigateur regarde, avec la valeur reçue à côté. Une ligne marquée en échec est une raison du blocage, et le bandeau du haut nomme la première, parce que c'est celle à corriger d'abord. Les lignes marquées information ne changent rien à elles seules. En dessous se trouvent la requête exacte que nous avons envoyée et les en-têtes revenus, pour que vous puissiez transmettre l'échange entier à qui tient le serveur.

Quel en-tête corrige quel échec

Access-Control-Allow-Origin est le premier à envoyer, et il doit nommer votre origine exactement, schéma et port compris, ou valoir une étoile. Access-Control-Allow-Methods et Access-Control-Allow-Headers ne comptent que sur le préflight, et chacun doit lister ce que le navigateur a demandé. Access-Control-Allow-Credentials doit valoir la chaîne true avant que des cookies partent, et ne se combine pas avec une origine en étoile. Access-Control-Expose-Headers est ce qui laisse JavaScript lire autre chose que la poignée d'en-têtes que les navigateurs livrent par défaut.

Arrêtez de deviner quel en-tête le serveur n'a pas envoyé

Une requête bloquée se ressemble vue de l'extérieur, quelle qu'en soit la cause. Session Replay enregistre la requête, les en-têtes de réponse et la ligne de console ensemble, si bien que la personne suivante a déjà tout sous les yeux.