Python 解決跨域請求
阿新 • • 發佈:2020-12-13
跨域請求
同源策略:
對於兩個url地址,如果url地址的協議
,ip
和port
完全一致,那麼這兩個地址就屬於同源,有一個不一致否則就是不同源
瀏覽器在通過一個頁面傳送ajax請求時,如果發現原請求地址和被請求地址不是同源,瀏覽器就進行跨域請求
瀏覽器在進行跨域請求是,會在請求頭新增一個Origin:源請求地址
, 被請求的伺服器再返回響應時,如果允許源請求地址進行跨域請求,需要在響應頭中新增一個Access-Control-Allow-Origin:源請求地址
,瀏覽器在接收響應時,如果發現響應中含有Access-Control-Allow-Origin:源請求地址
安裝
pip install django-cors-headers
新增應用
INSTALLED_APPS = (
...
# 進行註冊
'corsheaders',
...
)
中間層設定
MIDDLEWARE = [
# 新增到第一個,瀏覽器剛訪問的時候就進行跨域配置
'corsheaders.middleware.CorsMiddleware',
...
]
新增白名單
# CORS 跨域請求設定,新增白名單
CORS_ORIGIN_WHITELIST = (
'127.0.0.1:8080',
'localhost:8080',
'www.meiduo.site:8080',
)
CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie,後端是否支援對cookie的操作。