Isu merentas domain adalah masalah yang sangat biasa apabila membangunkan aplikasi web. Disebabkan oleh sekatan dasar asal yang sama penyemak imbas, permintaan mesti dikeluarkan di bawah nama domain semasa, jika tidak, permintaan itu akan disekat. Ini menjadikan interaksi data antara pelayan di bawah nama domain yang berbeza sangat sukar.
Untuk menyelesaikan masalah ini, cara biasa adalah dengan melakukan pemprosesan yang sepadan pada bahagian pelayan, iaitu, untuk menetapkan pengepala respons permintaan merentas domain yang sepadan. Flask-Cors ialah perpustakaan Python yang sangat baik untuk menyelesaikan masalah merentas domain.
Apakah Flask-Cors?
Flask-Cors ialah ahli perpustakaan sambungan Flask Fungsi utamanya ialah untuk menyediakan aplikasi Flask dengan keupayaan untuk menyelesaikan permintaan merentas domain dengan mudah. Ia membolehkan aplikasi Flask menyokong permintaan merentas domain dan menyediakan API yang ringkas dan mudah digunakan untuk kami mengkonfigurasi dan memanggil kod dengan cepat.
Bagaimana untuk menggunakan Flask-Cors?
Sebelum menggunakan Flask-Cors, anda perlu memasang perpustakaan Flask-Cors melalui alatan pengurusan pakej seperti pip.
Seterusnya, rujuk Flask-Cors dalam aplikasi Flask dan konfigurasikannya, anda boleh menggunakan kod berikut:
from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) # 允许跨域请求 CORS(app, resources=r'/*') # 路由 @app.route('/') def index(): return jsonify(message='Hello World!') # 启动服务器 if __name__ == '__main__': app.run()
Buat objek aplikasi CORS baharu menggunakan kelas CORS, dengan menghantar Flask Configure apl contoh aplikasi dan senarai sumber yang membenarkan permintaan merentas domain. Dalam contoh di atas, kami menyediakan semua sumber untuk membenarkan permintaan silang asal.
Selain kod di atas, Flask-Cors juga menyediakan API lain untuk mengkonfigurasi pengepala respons permintaan merentas domain dengan lebih fleksibel.
Sebagai contoh, kami juga boleh menggunakan kaedah CORS yang menyokong kaedah HTTP tertentu, seperti yang ditunjukkan di bawah:
from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) # 设置只支持GET、HEAD和OPTIONS方法的跨域请求 cors = CORS(app, resources={r'/api/*': {'origins': '*'}, 'methods': ['GET', 'HEAD', 'OPTIONS']}) # 路由 @app.route('/api/test', methods=['GET']) def test(): return jsonify(message='Success!') # 启动服务器 if __name__ == '__main__': app.run()
Di sini, kami menentukan semua permintaan di bawah laluan "/api/*", dan Terhad kepada respons merentas domain bagi tiga kaedah GET, HEAD dan OPTIONS.
Ringkasan
Flask-Cors ialah perpustakaan sambungan yang sangat baik untuk menyelesaikan permintaan merentas domain dalam aplikasi web Python. Ia bukan sahaja menyediakan permintaan merentas domain yang menyokong kaedah HTTP tertentu, tetapi juga mempunyai banyak API fleksibel untuk dikonfigurasikan pengguna. Menggunakan Flask-Cors boleh mengurangkan kesukaran kerja pembangun dalam menangani isu merentas domain dan meningkatkan kecekapan pembangunan.
Atas ialah kandungan terperinci Flask-Cors: menyelesaikan isu merentas domain dalam aplikasi web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!