Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie Flask-CORS, um eine domänenübergreifende gemeinsame Nutzung von Ressourcen zu erreichen
So verwenden Sie Flask-CORS, um eine ursprungsübergreifende Ressourcenfreigabe zu erreichen
Einführung:
Bei der Entwicklung von Netzwerkanwendungen ist Cross-Origin Resource Sharing (CORS) ein Mechanismus, der die Kommunikation zwischen dem Server und einem bestimmten Ursprung oder Domänennamen gemeinsam genutzten Ressourcen ermöglicht . Mit CORS können wir die Datenübertragung zwischen verschiedenen Domänen flexibel steuern und einen sicheren und zuverlässigen domänenübergreifenden Zugriff erreichen. In diesem Artikel stellen wir vor, wie Sie die Flask-CORS-Erweiterungsbibliothek zum Implementieren der CORS-Funktionalität verwenden.
1. Was ist CORS? CORS ist ein vom Browser bereitgestellter Sicherheitsmechanismus, der zur Steuerung des Zugriffs auf Ressourcen zwischen verschiedenen Domänen verwendet wird. In der herkömmlichen Same-Origin-Richtlinie erlauben Browser nur die Interaktion von Webseiten unter demselben Domänennamen, während CORS es Webseiten unter verschiedenen Domänennamen ermöglicht, domänenübergreifende Anforderungen zu initiieren. CORS wird über HTTP-Header-Felder gesteuert und interagiert zwischen Client und Server.
Flask-CORS ist eine CORS-Erweiterungsbibliothek, die auf dem Flask-Framework basiert. Sie bietet eine einfache und flexible Lösung für die Implementierung von CORS-Funktionen. Flask-CORS kann das Verhalten von CORS steuern, indem es Parameter wie zulässige Quellen, Anforderungsmethoden, Anforderungsheader usw. festlegt.
Sie können den Befehl pip verwenden, um Flask-CORS zu installieren:
pip install flask-cors4. Verwenden Sie Flask-CORS. Das Folgende ist eine grundlegende Flask-Anwendung, die zeigt, wie Sie Flask-CORS verwenden, um Cross-CORS zu erreichen. Domain-Ressourcenfreigabe:
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()
Flask
und flask_cors
importiert und eine Flask-Anwendung erstellt. Verwenden Sie als Nächstes die Anweisung CORS(app)
, um alle Ansichten der Anwendung so festzulegen, dass sie domänenübergreifend zugänglich sind. Abschließend definieren wir eine Route, die Daten im JSON-Format zurückgibt.
In der tatsächlichen Entwicklung verwenden wir normalerweise detailliertere Einstellungen, um das CORS-Verhalten verschiedener Ansichten flexibel zu steuern. Hier ist ein komplexeres Beispiel: 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
resources
-Parameter übergeben. In diesem Beispiel erlauben wir nur Anfragen von den beiden Domänennamen example.com
und www.example.com
, um einen domänenübergreifenden Zugriff zu initiieren. Wir geben außerdem die zulässigen Anforderungsmethoden (GET und POST) und Anforderungsheader (Content-Type und Authorization) an.
5. Zusammenfassung
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Flask-CORS, um eine domänenübergreifende gemeinsame Nutzung von Ressourcen zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!