Maison >développement back-end >Tutoriel Python >Comment implémenter le partage de ressources cross-origine (CORS) dans Flask : un guide étape par étape
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 :
Installez flask-cors :
<code class="shell">pip install Flask-CORS</code>
Importer CORS dans Flask :
<code class="python">from flask_cors import CORS</code>
Initialiser l'objet CORS :
<code class="python">cors = CORS(app)</code>
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>
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
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!