[NodeJS][Cors] Problème CORS lors requête API

172294
,

Bonsoir à tous,

J'essaye de faire une requête vers une API qui permet de récupérer des données artistes sous format JSON.
Seulement voilà dès que j'effectue cette requête, j'ai une erreur qui s'affiche en console : "Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur https://musicbrainz.org/ws/2/artist/?query=The%20White%20Stripes&fmt=json. Raison : échec de la requête CORS".

Cependant lorsque j'effectue la même requête sur le testeur tout fonctionne bien : https://runkit.com/embed/zrruc4ofokmu.
Je sais que le problème provient de ma requête HTTP cependant je ne sais pas comment le régler.

Je poste donc ce message pour savoir si des gens ayant l'habitude de travailler avec des API aurait déjà rencontré ce problème et aurait une solution ou des propositions pour me sortir de mon problème! :)

Merci à vous de m'avoir lu, bonne fin de soirée!

3 Réponse

44803
,

Bonjour,

Les CORS sont une sécurité qui permet a un serveur de restreindre l'origine.
Cette API est-elle publique ?

D'après l'erreur je pense que seul les requêtes avec comme header HTTP "Origin: https://musicbrainz.org" sont acceptées. Donc seulement le site web https://musicbrainz.org peut faire des requêtes vers l'api

172294
,

Salut Pandazaur,
Merci pour ta réponse.

Oui c'est une API open source, tu as des exemples d'exploitation de ses données ici : https://www.npmjs.com/package/musicbrainz.

Default
,

J'ai pu faire un peu de requête POST vers une API entre deux sites WP, pour rémédier au problème, j'avais ajouter quelques lignes dans le .htaccess du site distant.

Quelque chose comme ça il me semble :

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>