⚜ (✖️-🇨🇳 ℹ 🤝)¶
⚜ ⚖️ "✖️-🇨🇳 ℹ 🤝" 🔗 ⚠ 🕐❔ 🕸 🏃♂ 🖥 ✔️ 🕸 📟 👈 🔗 ⏮️ 👩💻, & 👩💻 🎏 "🇨🇳" 🌘 🕸.
🇨🇳¶
🇨🇳 🌀 🛠️ (http, https), 🆔 (myapp.com, localhost, localhost.tiangolo.com), & ⛴ (80, 443, 8080).
, 🌐 👫 🎏 🇨🇳:
http://localhosthttps://localhosthttp://localhost:8080
🚥 👫 🌐 localhost, 👫 ⚙️ 🎏 🛠️ ⚖️ ⛴,, 👫 🎏 "🇨🇳".
🔁¶
, ➡️ 💬 👆 ✔️ 🕸 🏃 👆 🖥 http://localhost:8080, & 🚮 🕸 🔄 🔗 ⏮️ 👩💻 🏃 http://localhost (↩️ 👥 🚫 ✔ ⛴, 🖥 🔜 🤔 🔢 ⛴ 80).
⤴️, 🖥 🔜 📨 🇺🇸🔍 OPTIONS 📨 👩💻, & 🚥 👩💻 📨 ☑ 🎚 ✔ 📻 ⚪️➡️ 👉 🎏 🇨🇳 (http://localhost:8080) ⤴️ 🖥 🔜 ➡️ 🕸 🕸 📨 🚮 📨 👩💻.
🏆 👉, 👩💻 🔜 ✔️ 📇 "✔ 🇨🇳".
👉 💼, ⚫️ 🔜 ✔️ 🔌 http://localhost:8080 🕸 👷 ☑.
🃏¶
⚫️ 💪 📣 📇 "*" ("🃏") 💬 👈 🌐 ✔.
✋️ 👈 🔜 🕴 ✔ 🎯 🆎 📻, 🚫 🌐 👈 🔌 🎓: 🍪, ✔ 🎚 💖 📚 ⚙️ ⏮️ 📨 🤝, ♒️.
, 🌐 👷 ☑, ⚫️ 👻 ✔ 🎯 ✔ 🇨🇳.
⚙️ CORSMiddleware¶
👆 💪 🔗 ⚫️ 👆 FastAPI 🈸 ⚙️ CORSMiddleware.
- 🗄
CORSMiddleware. - ✍ 📇 ✔ 🇨🇳 (🎻).
- 🚮 ⚫️ "🛠️" 👆 FastAPI 🈸.
👆 💪 ✔ 🚥 👆 👩💻 ✔:
- 🎓 (✔ 🎚, 🍪, ♒️).
- 🎯 🇺🇸🔍 👩🔬 (
POST,PUT) ⚖️ 🌐 👫 ⏮️ 🃏"*". - 🎯 🇺🇸🔍 🎚 ⚖️ 🌐 👫 ⏮️ 🃏
"*".
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
origins = [
"http://localhost.tiangolo.com",
"https://localhost.tiangolo.com",
"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"}
🔢 🔢 ⚙️ CORSMiddleware 🛠️ 🚫 🔢, 👆 🔜 💪 🎯 🛠️ 🎯 🇨🇳, 👩🔬, ⚖️ 🎚, ✔ 🖥 ✔ ⚙️ 👫 ✖️-🆔 🔑.
📄 ❌ 🐕🦺:
allow_origins- 📇 🇨🇳 👈 🔜 ✔ ⚒ ✖️-🇨🇳 📨. 🤶 Ⓜ.['https://example.org', 'https://www.example.org']. 👆 💪 ⚙️['*']✔ 🙆 🇨🇳.allow_origin_regex- 🎻 🎻 🏏 🛡 🇨🇳 👈 🔜 ✔ ⚒ ✖️-🇨🇳 📨. ✅'https://.*\.example\.org'.allow_methods- 📇 🇺🇸🔍 👩🔬 👈 🔜 ✔ ✖️-🇨🇳 📨. 🔢['GET']. 👆 💪 ⚙️['*']✔ 🌐 🐩 👩🔬.allow_headers- 📇 🇺🇸🔍 📨 🎚 👈 🔜 🐕🦺 ✖️-🇨🇳 📨. 🔢[]. 👆 💪 ⚙️['*']✔ 🌐 🎚.Accept,Accept-Language,Content-Language&Content-Type🎚 🕧 ✔ 🙅 ⚜ 📨.allow_credentials- 🎦 👈 🍪 🔜 🐕🦺 ✖️-🇨🇳 📨. 🔢False. ,allow_origins🚫🔜 ⚒['*']🎓 ✔, 🇨🇳 🔜 ✔.expose_headers- 🎦 🙆 📨 🎚 👈 🔜 ⚒ ♿ 🖥. 🔢[].max_age- ⚒ 🔆 🕰 🥈 🖥 💾 ⚜ 📨. 🔢600.
🛠️ 📨 2️⃣ 🎯 🆎 🇺🇸🔍 📨...
⚜ 🛫 📨¶
👉 🙆 OPTIONS 📨 ⏮️ Origin & Access-Control-Request-Method 🎚.
👉 💼 🛠️ 🔜 🆘 📨 📨 & 📨 ⏮️ ☑ ⚜ 🎚, & 👯♂️ 200 ⚖️ 400 📨 🎓 🎯.
🙅 📨¶
🙆 📨 ⏮️ Origin 🎚. 👉 💼 🛠️ 🔜 🚶♀️ 📨 🔘 😐, ✋️ 🔜 🔌 ☑ ⚜ 🎚 🔛 📨.
🌅 ℹ¶
🌖 ℹ 🔃 ⚜, ✅ 🦎 ⚜ 🧾.
📡 ℹ
👆 💪 ⚙️ from starlette.middleware.cors import CORSMiddleware.
FastAPI 🚚 📚 🛠️ fastapi.middleware 🏪 👆, 👩💻. ✋️ 🌅 💪 🛠️ 👟 🔗 ⚪️➡️ 💃.