欢迎访问宙启技术站
智能推送

在PythonFlask应用中使用flask_cors模块实现跨域请求

发布时间:2023-12-27 06:30:28

在Python Flask应用中,如果需要实现跨域请求,可以使用flask_cors模块来简化配置和处理跨域问题。flask_cors提供了一个装饰器来允许跨域请求,并且可以定制化地配置跨域请求的参数。

以下是一个在Python Flask应用中使用flask_cors模块的例子:

1. 安装flask_cors模块:

在命令行中执行以下命令安装flask_cors模块:

   pip install flask_cors
   

2. 引入flask模块和flask_cors模块:

   from flask import Flask, jsonify, request
   from flask_cors import CORS, cross_origin
   

3. 创建Flask应用实例并配置CORS:

   app = Flask(__name__)
   cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
   

在这个例子中,我们允许所有来自/api/路径的请求跨域访问。

4. 创建一个API路由函数并使用cross_origin装饰器:

   @app.route('/api/data', methods=['GET'])
   @cross_origin()
   def get_data():
      data = {'name': 'John', 'age': 30}
      return jsonify(data)
   

这个例子中,我们创建了一个GET请求的API接口/api/data,并使用cross_origin()装饰器来允许跨域访问。

5. 启动Flask应用:

   if __name__ == '__main__':
      app.run()
   

6. 测试跨域请求:

启动Flask应用后,可以使用任何工具或浏览器插件来发送跨域请求。例如,使用curl命令:

   curl -X GET http://localhost:5000/api/data
   

或者,可以在浏览器中使用JavaScript代码发送跨域请求:

   fetch('http://localhost:5000/api/data')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error(error));
   

以上就是一个使用flask_cors模块实现跨域请求的例子。通过使用flask_cors模块,可以轻松地允许跨域请求,并且可以定制化地配置跨域请求的参数。