• flask-cors


    https://github.com/corydolphin/flask-cors/blob/master/examples/app_based_example.py

    """
      Flask-Cors example
      ===================
      This is a tiny Flask Application demonstrating Flask-Cors, making it simple
      to add cross origin support to your flask app!
       
      :copyright: (C) 2013 by Cory Dolphin.
      :license: MIT/X11, see LICENSE for more details.
      """
      from flask import Flask, jsonify
      import logging
      try:
      from flask.ext.cors import CORS # The typical way to import flask-cors
      except ImportError:
      # Path hack allows examples to be run without installation.
      import os
      parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
      os.sys.path.insert(0, parentdir)
       
      from flask.ext.cors import CORS
       
       
      app = Flask('FlaskCorsAppBasedExample')
      logging.basicConfig(level=logging.INFO)
       
      # To enable logging for flask-cors,
      logging.getLogger('flask_cors').level = logging.DEBUG
       
      # One of the simplest configurations. Exposes all resources matching /api/* to
      # CORS and allows the Content-Type header, which is necessary to POST JSON
      # cross origin.
      CORS(app, resources=r'/api/*', allow_headers='Content-Type')
       
       
      @app.route("/")
      def helloWorld():
      '''
      Since the path '/' does not match the regular expression r'/api/*',
      this route does not have CORS headers set.
      '''
      return '''
      <html>
      <h1>Hello CORS!</h1>
      <h3> End to end editable example with jquery! </h3>
      <a class="jsbin-embed" href="http://jsbin.com/zazitas/embed?js,console">JS Bin on jsbin.com</a>
      <script src="//static.jsbin.com/js/embed.min.js?3.35.12"></script>
       
      </html>
      '''
       
      @app.route("/api/v1/users/")
      def list_users():
      '''
      Since the path matches the regular expression r'/api/*', this resource
      automatically has CORS headers set. The expected result is as follows:
       
      $ curl --include -X GET http://127.0.0.1:5000/api/v1/users/
      --header Origin:www.examplesite.com
      HTTP/1.0 200 OK
      Access-Control-Allow-Headers: Content-Type
      Access-Control-Allow-Origin: *
      Content-Length: 21
      Content-Type: application/json
      Date: Sat, 09 Aug 2014 00:26:41 GMT
      Server: Werkzeug/0.9.4 Python/2.7.8
       
      {
      "success": true
      }
       
      '''
      return jsonify(user="joe")
       
       
      @app.route("/api/v1/users/create", methods=['POST'])
      def create_user():
      '''
      Since the path matches the regular expression r'/api/*', this resource
      automatically has CORS headers set.
       
      Browsers will first make a preflight request to verify that the resource
      allows cross-origin POSTs with a JSON Content-Type, which can be simulated
      as:
      $ curl --include -X OPTIONS http://127.0.0.1:5000/api/v1/users/create
      --header Access-Control-Request-Method:POST
      --header Access-Control-Request-Headers:Content-Type
      --header Origin:www.examplesite.com
      >> HTTP/1.0 200 OK
      Content-Type: text/html; charset=utf-8
      Allow: POST, OPTIONS
      Access-Control-Allow-Origin: *
      Access-Control-Allow-Headers: Content-Type
      Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT
      Content-Length: 0
      Server: Werkzeug/0.9.6 Python/2.7.9
      Date: Sat, 31 Jan 2015 22:25:22 GMT
       
       
      $ curl --include -X POST http://127.0.0.1:5000/api/v1/users/create
      --header Content-Type:application/json
      --header Origin:www.examplesite.com
       
       
      >> HTTP/1.0 200 OK
      Content-Type: application/json
      Content-Length: 21
      Access-Control-Allow-Origin: *
      Server: Werkzeug/0.9.6 Python/2.7.9
      Date: Sat, 31 Jan 2015 22:25:04 GMT
       
      {
      "success": true
      }
       
      '''
      return jsonify(success=True)
       
       
      if __name__ == "__main__":
      app.run(debug=True)
  • 相关阅读:
    IIS10中使用OpenSSL来创建CA并且签发SSL证书
    vim简单题练习-------出自《鸟哥的linux私房菜》第309页码题目
    Linux删除命令rm
    CentOS下Vim加密解密文本
    Linux中bash shell环境变量
    Linux文件系统损坏导致无法正常启动与fsck修复工具
    rm -rf /*时遇到的趣事
    Linux中tree无法正常显示中文的解决方法
    执行shell脚本的四种方式
    私有网络(VPC)概述
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/5565730.html
Copyright © 2020-2023  润新知