【Django】测试带有 CSRF 验证的 POST 表单 API 报错:Forbidden (CSRF cookie not set.)

【Django】测试带有 CSRF 验证的 POST 表单 API 报错:Forbidden (CSRF cookie not set.)

问题描述

Django 使用 Apifox 测试 POST 表单报错。

bash 复制代码
Forbidden (CSRF cookie not set.): /api/parse
[20/Dec/2024 15:17:25] "POST //api/parse HTTP/1.1" 403 2855

原因分析

要在使用 Apifox 测试 Django 应用程序时处理 CSRF 验证,需要确保在请求中包含 CSRF 令牌。

解决方案

  1. 发送一个 GET 请求到您的 Django 应用程序的某个页面。

  2. 在响应头部或响应体中查找 CSRF 令牌。Django 通常会在响应的 cookies 中设置 CSRF 令牌,或者在 HTML 表单中包含一个隐藏的输入字段。

  3. 在 Apifox 中创建一个新的请求,将获取到的 CSRF 令牌添加到请求的头部或表单数据中。可以将 CSRF 令牌需要添加到请求头部的 X-CSRFToken 字段中。

相关推荐
沐霜枫叶28 分钟前
解决pycharm无法识别miniconda
ide·python·pycharm
途途途途1 小时前
精选9个自动化任务的Python脚本精选
数据库·python·自动化
蓝染然1 小时前
jax踩坑指南——人类早期驯服jax实录
python
许野平1 小时前
Rust: enum 和 i32 的区别和互换
python·算法·rust·enum·i32
问道飞鱼1 小时前
【Python知识】Python进阶-什么是装饰器?
开发语言·python·装饰器
AI视觉网奇2 小时前
Detected at node ‘truediv‘ defined at (most recent call last): Node: ‘truediv‘
人工智能·python·tensorflow
GuYue.bing2 小时前
网络下载ts流媒体
开发语言·python
牛顿喜欢吃苹果2 小时前
linux创建虚拟串口
python
-Mr_X-3 小时前
FFmpeg在python里推流被处理过的视频流
python·ffmpeg
一个不秃头的 程序员3 小时前
代码加入SFTP JAVA ---(小白篇3)
java·python·github