How to intentionally cause a 400 Bad Request in Python/Flask?(如何在 Python/Flask 中故意导致 400 错误请求?)
问题描述
A consumer of my REST API says that on occasion I am returning a 400 Bad Request
- The request sent by the client was syntactically incorrect.
error.
My application (Python/Flask) logs don't seem to be capturing this, and neither do my webserver/Nginx logs.
Edit: I would like to try to cause a 400 bad request in Flask for debugging purposes. How can I do this?
Following James advice, I added something similar to the following:
@app.route('/badrequest400')
def bad_request():
return abort(400)
When I call this, flask returns the following HTML, which doesn't use the "The request sent by the client was syntactically incorrect" line:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>
(I'm not sure why it isn't including the <body>
tags.
It appears to me that there are different variations of the 400 error message. For example, if I set a cookie to a value of length 50,000 (using Interceptor with Postman), I'll get the following error from Flask instead:
<html>
<head>
<title>Bad Request</title>
</head>
<body>
<h1>
<p>Bad Request</p>
</h1>
Error parsing headers: 'limit request headers fields size'
</body>
</html>
Is there a way to get Flask to through the different variations of 400 errors?
You can use abort
to raise an HTTP error by status code.
from flask import abort
@app.route('/badrequest400')
def bad_request():
abort(400)
这篇关于如何在 Python/Flask 中故意导致 400 错误请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Python/Flask 中故意导致 400 错误请求?
基础教程推荐
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 筛选NumPy数组 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01