>  기사  >  백엔드 개발  >  Flask에서 CORS(Cross-Origin Resource Sharing)를 구현하는 방법: 단계별 가이드

Flask에서 CORS(Cross-Origin Resource Sharing)를 구현하는 방법: 단계별 가이드

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 09:43:01880검색

How to Implement Cross-Origin Resource Sharing (CORS) in Flask: A Step-by-Step Guide

Flask의 CORS: Cross-Origin 요청 활성화를 위한 단계별 가이드

Cross-Origin Resource Sharing(CORS)은 웹 애플리케이션에서 도메인 간 요청을 허용하는 필수 메커니즘입니다. 널리 사용되는 Python 기반 웹 프레임워크인 Flask는 CORS에 대한 기본 지원을 제공하므로 원본 간 액세스를 쉽게 활성화할 수 있습니다.

Flask에서 CORS 활성화

CORS 헤더 누락으로 인해 "XMLHttpRequest를 로드할 수 없습니다" 오류가 발생하는 경우 다음 단계를 따르세요.

  1. Flask-cors 설치:

    <code class="shell">pip install Flask-CORS</code>
  2. Flask에서 CORS 가져오기:

    <code class="python">from flask_cors import CORS</code>
  3. CORS 개체 초기화:

    <code class="python">cors = CORS(app)</code>
  4. CORS 헤더 구성:
    CORS 구성을 업데이트하여 교차 출처 요청에 허용되는 헤더를 지정합니다. 기본적으로 Flask-CORS는 "Content-Type" 헤더만 허용합니다. 필요에 따라 "승인"과 같은 추가 헤더를 포함하도록 이를 확장할 수 있습니다.

    <code class="python">app.config['CORS_HEADERS'] = 'Content-Type, Authorization'</code>
  5. 특정 경로에 CORS 적용:
    Wrap your @cross_origin() 데코레이터를 사용하여 특정 경로에 대해 CORS를 활성화합니다.

    <code class="python">@app.route("/")
    @cross_origin()
    def my_route():
        ...</code>

또는 데코레이터를 모든 경로에 전 세계적으로 적용할 수 있습니다.

<code class="python">@app.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Origin', '*')
    response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
    return response</code>

이러한 단계를 수행하면 Flask는 필요한 CORS 헤더를 응답에 자동으로 추가하여 다른 도메인의 출처 간 요청을 허용합니다.

추가 참고 사항

  • Heroku를 사용하여 Flask 애플리케이션을 배포하는 경우 Procfile에서 CORS를 수동으로 구성해야 할 수도 있습니다.
  • Access-Control-Allow-Origin 헤더를 적절한 도메인으로 설정하는 것을 기억하세요. 요청이 시작되는 위치.
  • 자세한 정보와 옵션은 Flask-CORS 설명서(http://flask-cors.readthedocs.org/en/latest/
를 참조하세요)

위 내용은 Flask에서 CORS(Cross-Origin Resource Sharing)를 구현하는 방법: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.