Maison  >  Article  >  développement back-end  >  Comment implémenter le partage de ressources cross-origine (CORS) dans Flask : un guide étape par étape

Comment implémenter le partage de ressources cross-origine (CORS) dans Flask : un guide étape par étape

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 09:43:01880parcourir

How to Implement Cross-Origin Resource Sharing (CORS) in Flask: A Step-by-Step Guide

CORS dans Flask : un guide étape par étape pour activer les requêtes d'origine croisée

Le partage de ressources d'origine croisée (CORS) est un mécanisme essentiel pour autoriser les requêtes inter-domaines dans les applications Web. Flask, un framework Web populaire basé sur Python, fournit une prise en charge intégrée de CORS, ce qui facilite l'activation de l'accès multi-origine.

Activation de CORS dans Flask

Si vous rencontrez l'erreur « XMLHttpRequest ne peut pas se charger » en raison d'en-têtes CORS manquants, suivez ces étapes :

  1. Installez flask-cors :

    <code class="shell">pip install Flask-CORS</code>
  2. Importer CORS dans Flask :

    <code class="python">from flask_cors import CORS</code>
  3. Initialiser l'objet CORS :

    <code class="python">cors = CORS(app)</code>
  4. Configurer les en-têtes CORS :
    Mettez à jour la configuration CORS pour spécifier les en-têtes qui seront autorisés pour les requêtes d'origine croisée. Par défaut, Flask-CORS autorise uniquement l'en-tête "Content-Type". Vous pouvez l'étendre pour inclure des en-têtes supplémentaires si nécessaire, tels que « Autorisation ».

    <code class="python">app.config['CORS_HEADERS'] = 'Content-Type, Authorization'</code>
  5. Appliquer CORS à une route spécifique :
    Enveloppez votre route avec le décorateur @cross_origin() pour activer CORS pour cet itinéraire spécifique.

    <code class="python">@app.route("/")
    @cross_origin()
    def my_route():
        ...</code>

Vous pouvez également appliquer le décorateur globalement à toutes les routes :

<code class="python">@app.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Origin', '*')
    response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
    return response</code>

Une fois ces étapes en place, Flask ajoutera automatiquement les en-têtes CORS nécessaires à vos réponses, permettant ainsi les requêtes d'origine croisée provenant d'autres domaines.

Notes supplémentaires

  • Si vous utilisez Heroku pour déployer votre application Flask, vous devrez peut-être configurer manuellement CORS dans votre fichier Procfile.
  • N'oubliez pas de définir l'en-tête Access-Control-Allow-Origin sur le(s) domaine(s) approprié(s) d'où proviendront les requêtes.
  • Pour des informations et des options plus détaillées, reportez-vous à la documentation Flask-CORS : http://flask-cors.readthedocs.org/en/latest/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn