1. 程式人生 > 其它 >Python 解決跨域請求

Python 解決跨域請求

技術標籤:前端httpdjangopythonhtml

跨域請求

同源策略:

對於兩個url地址,如果url地址的協議,ipport完全一致,那麼這兩個地址就屬於同源,有一個不一致否則就是不同源

瀏覽器在通過一個頁面傳送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的操作。