【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 字段中。

相关推荐
2301_766283442 分钟前
C#怎么实现EF Core迁移 C#如何用Entity Framework Core进行数据库迁移和更新表结构【数据库】
jvm·数据库·python
a7963lin2 分钟前
PHP怎么用array_unique去重数组元素【方法】
jvm·数据库·python
时空系2 分钟前
第8篇:模板与实例——面向对象编程入门(上)python中文编程
开发语言·python
熊文豪3 分钟前
FinceptTerminal 深度解析:用 C++20 + Qt6 + Python 打造的开源 Bloomberg 终端
python·开源·c++20·bloomberg·finceptterminal
神仙别闹18 分钟前
基于Python实现上下消化道病历分类
开发语言·python·分类
m0_7403524219 分钟前
Layui如何解决表单select下拉框在移动端点击没反应
jvm·数据库·python
qq_3926906622 分钟前
Scikit-learn怎么实现协同过滤推荐_利用NearestNeighbors找相似用户
jvm·数据库·python
dfdfadffa23 分钟前
C#怎么使用TopLevel顶级语句 C#顶级语句怎么写如何省略Main方法简化控制台程序【语法】
jvm·数据库·python
qq_4135020223 分钟前
Workerman vs Swoole:2026高性能PHP框架怎么选?
jvm·数据库·python
xingpanvip28 分钟前
星盘接口开发文档:天象盘接口指南
android·开发语言·python·php·lua