Comment utiliser Flask-CORS pour réaliser le partage de ressources entre domaines

Comment utiliser Flask-CORS pour réaliser le partage de ressources entre domaines

Introduction :
dans le développement d'applications Web, le partage de ressources d'origine croisée (CORS) est un mécanisme qui permet aux ressources d'être partagées entre un serveur et une source ou un nom de domaine spécifié. En utilisant CORS, nous pouvons contrôler de manière flexible la transmission de données entre différents domaines pour obtenir un accès interdomaine sûr et fiable. Dans cet article, nous expliquerons comment utiliser la bibliothèque d'extension Flask-CORS pour implémenter la fonctionnalité CORS.

1. Qu'est-ce que CORS
CORS est un mécanisme de sécurité fourni par les navigateurs pour contrôler l'accès aux ressources entre différents domaines. Dans la politique traditionnelle de même origine, les navigateurs autorisent uniquement les pages Web sous le même nom de domaine à interagir, tandis que CORS permet aux pages Web sous différents noms de domaine d'initier des requêtes inter-domaines. CORS est contrôlé via le champ d'en-tête HTTP et interagit entre le client et le serveur.

2. Introduction à Flask-CORS
Flask-CORS est une bibliothèque d'extension CORS basée sur le framework Flask, qui fournit une solution simple et flexible pour la mise en œuvre des fonctions CORS. Flask-CORS peut contrôler le comportement de CORS en définissant des paramètres, tels que les sources autorisées, les méthodes de requête, les en-têtes de requête, etc.

3. Installez Flask-CORS
Vous pouvez utiliser la commande pip pour installer Flask-CORS :

pip install flask-cors

Quatrièmement, utilisez Flask-CORS
Voici une application Flask de base qui montre comment utiliser Flask-CORS pour réaliser le partage de ressources entre domaines :

from flask import Flask, jsonify
from flask_cors import CORS

app = Flask(__name__)
CORS(app)  # 允许应用的所有视图都可以跨域访问

@app.route('/api/data', methods=['GET'])
def get_data():
    data = {
        'name': '小明',
        'age': 18,
        'gender': '男'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()

Dans le code ci-dessus, nous avons d'abord importé Flaskles flask_corsmodules et et créé une application Flask. Ensuite, utilisez CORS(app)l'instruction pour rendre toutes les vues de l'application accessibles sur tous les domaines. Enfin, nous définissons une route qui renvoie les données au format JSON.

Dans le développement réel, nous utilisons généralement des paramètres plus fins pour contrôler de manière flexible le comportement CORS de différentes vues. Voici un exemple plus complexe :

from flask import Flask, jsonify
from flask_cors import CORS

app = Flask(__name__)
cors = CORS(app, resources={
    r"/*": {
        "origins": ["http://example.com", "http://www.example.com"],
        "methods": ["GET", "POST"],
        "headers": ["Content-Type", "Authorization"]
    }
})

@app.route('/api/data', methods=['GET'])
def get_data():
    data = {
        'name': '小明',
        'age': 18,
        'gender': '男'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()

Dans le code ci-dessus, nous passons un resourcesparamètre pour effectuer des réglages plus fins. Dans cet exemple, nous n'autorisons que les requêtes de example.comces www.example.comdeux noms de domaine pour initier un accès inter-domaines. Nous spécifions également les méthodes de requête autorisées (GET et POST) et les en-têtes de requête (Content-Type et Authorization).

V. Résumé
Dans cet article, nous avons présenté comment utiliser la bibliothèque d'extension Flask-CORS pour réaliser le partage de ressources entre domaines. En définissant différents paramètres, nous pouvons contrôler de manière flexible la transmission de données entre différents domaines pour obtenir un accès interdomaine sûr et fiable. CORS est un mécanisme de sécurité fourni par les navigateurs, qui offre aux développeurs plus de liberté et de flexibilité, et peut répondre aux besoins de différents scénarios d'application.

Ce qui précède est les détails de la façon d'utiliser Flask-CORS pour réaliser le partage de ressources entre domaines

Je suppose que tu aimes

Origine blog.csdn.net/lmrylll/article/details/132167481
conseillé
Classement