FastAPI - CORS
Cross-Origin Resource Sharing (CORS) 是指在一个客户端浏览器上运行的前端应用程序试图通过 JavaScript 代码与后端通信,而后端与前端位于不同的"来源"的情况。 这里的来源是协议、域名和端口号的组合。 因此,http://localhost 和 https://localhost 的来源不同。
如果具有一个来源 URL 的浏览器从另一个来源发送执行 JavaScript 代码的请求,浏览器将发送一个 OPTIONS HTTP 请求。
如果后端通过发送适当的标头授权来自这个不同来源的通信,它将让前端中的 JavaScript 将其请求发送到后端。 为此,后端必须有一个"允许的来源"列表。
要明确指定允许的来源,请导入 CORSMiddleware 并将来源列表添加到应用程序的中间件。
from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware app = FastAPI() origins = [ "http://192.168.211.:8000", "http://localhost", "http://localhost:8080", ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") async def main(): return {"message": "Hello World"}