Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Flask-CORS untuk mencapai perkongsian sumber merentas domain

Cara menggunakan Flask-CORS untuk mencapai perkongsian sumber merentas domain

王林
王林asal
2023-08-02 14:03:341284semak imbas

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. Flaskflask_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.comwww.example.com

Dalam pembangunan sebenar, kami biasanya menggunakan tetapan yang lebih berbutir untuk mengawal gelagat CORS pandangan berbeza secara fleksibel. Berikut ialah contoh yang lebih kompleks:

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).

🎜5. Ringkasan🎜Dalam artikel ini, kami memperkenalkan cara menggunakan perpustakaan sambungan Flask-CORS untuk mencapai perkongsian sumber merentas domain. Dengan menetapkan parameter yang berbeza, kami boleh mengawal penghantaran data secara fleksibel antara domain yang berbeza dan mencapai akses merentas domain yang selamat dan boleh dipercayai. CORS ialah mekanisme keselamatan yang disediakan oleh penyemak imbas, memberikan pembangun lebih kebebasan dan fleksibiliti untuk memenuhi keperluan senario aplikasi yang berbeza. 🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn