Comment utiliser Flask-CORS pour réaliser le partage de ressources d'origine croisée
Introduction :
Dans le développement d'applications réseau, le partage de ressources d'origine croisée (CORS) est un mécanisme qui permet la communication entre le serveur et une origine ou un nom de domaine spécifié. Ressources partagées . Grâce à CORS, nous pouvons contrôler de manière flexible la transmission de données entre différents domaines et obtenir un accès inter-domaines sûr et fiable. Dans cet article, nous présenterons comment utiliser la bibliothèque d'extensions Flask-CORS pour implémenter la fonctionnalité CORS.
1. Qu'est-ce que CORS
CORS est un mécanisme de sécurité fourni par le navigateur, qui est utilisé 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 des noms de domaine différents de lancer des requêtes inter-domaines. CORS est contrôlé via les champs 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. Elle fournit une solution simple et flexible pour implémenter les 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
4 Utiliser Flask-CORS
Ce qui suit est une application Flask de base qui montre comment utiliser Flask-CORS pour réaliser des croisements. partage des ressources de domaine :
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é les modules Flask
et flask_cors
et créé une application Flask. Ensuite, utilisez l'instruction CORS(app)
pour définir toutes les vues de l'application afin qu'elles soient accessibles sur tous les domaines. Enfin, nous définissons une route qui renvoie les données au format JSON. Flask
和flask_cors
模块,并创建了一个Flask应用。接着,使用CORS(app)
语句将应用的所有视图都设置为可以跨域访问。最后,我们定义了一个路由,返回一个JSON格式的数据。
在实际开发中,我们通常会使用更精细的设置,来灵活控制不同视图的CORS行为。下面是一个更复杂的例子:
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()
在上面的代码中,我们通过传递一个resources
参数来进行更细粒度的设置。在这个示例中,我们只允许来自example.com
和www.example.com
rrreee
Dans le code ci-dessus, nous effectuons des réglages plus précis en passant un paramètre resources
. Dans cet exemple, nous autorisons uniquement les requêtes des deux noms de domaine example.com
et www.example.com
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).
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!