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

相关推荐
风轻扬7775 小时前
SQLAlchemy2.0使用
python·sqlalchemy·orm框架
潘帕斯的雄鹰5 小时前
直观理解注意力机制
python·transformer·注意力机制·自注意力机制
打酱油程序员5 小时前
Python数据挖掘详细学习指南
python
天天进步20158 小时前
Python全栈项目:结合Puppeteer和AI模型操作浏览器
开发语言·人工智能·python
闲人编程8 小时前
用Python识别图片中的文字(Tesseract OCR)
开发语言·python·ocr·识图·codecapsule
盘古开天16668 小时前
从零开始:如何搭建你的第一个简单的Flask网站
后端·python·flask
二进制星轨9 小时前
Transofrmer架构详解与PyTorch实现(附代码讲解)
人工智能·pytorch·python
生而为虫9 小时前
02.第一个Python程序
开发语言·python
视觉AI10 小时前
如何查看 Linux 下正在运行的 Python 程序是哪一个
linux·人工智能·python
猫头虎11 小时前
永久免费白嫖多个域名,一键托管Cloudflare,免费申请SSL加密证书,轻松建站、搭建线路伪装
服务器·开发语言·网络·数据库·python·网络协议·ssl