Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menggunakan Flask-CORS untuk mencapai perkongsian sumber merentas domain
Cara menggunakan Flask-CORS untuk mencapai perkongsian sumber merentas asal
Pengenalan:
Dalam pembangunan aplikasi rangkaian, Perkongsian Sumber Silang (CORS) ialah mekanisme yang membenarkan komunikasi antara pelayan dan nama asal atau domain tertentu Sumber dikongsi . Menggunakan CORS, kami boleh mengawal penghantaran data secara fleksibel antara domain yang berbeza dan mencapai akses merentas domain yang selamat dan boleh dipercayai. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perpustakaan sambungan Flask-CORS untuk melaksanakan fungsi CORS.
1. Apakah itu CORS
CORS ialah mekanisme keselamatan yang disediakan oleh penyemak imbas, yang digunakan untuk mengawal akses kepada sumber antara domain yang berbeza. Dalam dasar asal yang sama, penyemak imbas hanya membenarkan halaman web di bawah nama domain yang sama untuk berinteraksi, manakala CORS membenarkan halaman web di bawah nama domain yang berbeza untuk memulakan permintaan merentas domain. CORS dikawal melalui medan pengepala HTTP dan berinteraksi antara klien dan pelayan.
2. Pengenalan kepada Flask-CORS
Flask-CORS ialah perpustakaan sambungan CORS berdasarkan rangka kerja Flask Ia menyediakan penyelesaian yang mudah dan fleksibel untuk melaksanakan fungsi CORS. Flask-CORS boleh mengawal kelakuan CORS dengan menetapkan parameter, seperti sumber yang dibenarkan, kaedah permintaan, pengepala permintaan, dsb.
3. Pasang Flask-CORS
Anda boleh menggunakan arahan pip untuk memasang Flask-CORS:
pip install flask-cors
4 Gunakan Flask-CORS
Berikut ialah aplikasi Flask asas yang menunjukkan cara menggunakan Flask-CORS untuk mencapai silang-. perkongsian sumber domain:
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()
Dalam kod di atas, kami mula-mula mengimport modul Flask
dan flask_cors
dan mencipta aplikasi Flask. Seterusnya, gunakan pernyataan CORS(app)
untuk menetapkan semua paparan aplikasi supaya boleh diakses merentas domain. Akhir sekali, kami menentukan laluan yang mengembalikan data dalam 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
Dalam kod di atas, kami membuat tetapan yang lebih terperinci dengan menghantar parameter resources
. Dalam contoh ini, kami hanya membenarkan permintaan daripada dua nama domain example.com
dan www.example.com
untuk memulakan akses merentas domain. Kami juga menentukan kaedah permintaan yang dibenarkan (GET dan POST) dan pengepala permintaan (Jenis Kandungan dan Keizinan).
Atas ialah kandungan terperinci Cara menggunakan Flask-CORS untuk mencapai perkongsian sumber merentas domain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!