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

相关推荐
飞Link4 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
曲径海盗5 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
在世修行5 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
On The Road :7 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
岁月宁静7 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·agent
岁月宁静8 小时前
CrewAI 快速上手:10 分钟搭建你的第一个 Agent 团队
python·agent
曲径海盗8 小时前
【Python 学习第 40 天】for 循环
python·学习笔记·编程入门
专注仿真8 小时前
知识问答大模型-rag算法详解
人工智能·python·控制算法
染指11109 小时前
158.Agent-LangGraph-子图(共享状态和不共享状态模式)
开发语言·人工智能·python·ui·agent·agents
云和数据.ChenGuang10 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节