Django接口请求返回报错:CSRF Failed: CSRF token missing or incorrect
问题分析:
这是django自带的用户验证机制。
django,会对合法的跨域访问做这样的检验,cookies里面存储的’csrftoken’,和post的header里面的字段”X-CSRFToken’作比较,只有两者匹配,才能通过跨域检验。否则会返回这个错误:CSRF Failed: CSRF token missing or incorrect
django默认会有csrf验证.
解决方法
方法一:在POST请求的header添加一个字段’X-CSRFToken’,这个字段和cookie里面的‘csrftoken’一样就好了。
方法二:关闭 csrf
在项目的settings文件中有一个配置项MIDDLEWARE,表示默认Django启用csrf认证;‘django.middleware.csrf.CsrfViewMiddleware’
在 settings文件中将csrf的中间件注释掉
MIDDLEWARE = [
# 'django.middleware.csrf.CsrfViewMiddleware', # csrf验证
]