python - Flask API 返回错误的 JSON 或空白列表
问题描述
我正在使用的 Flask 应用程序出现问题,每当我POST
从 Postman 发送请求时,我都会收到一个空白列表。
这是我正在使用的代码:
1 @app.route('/twist', methods=['POST'])
2 def twist():
3 try:
4 session = Session(request.json.get('url'), nameserver=NAMESERVER)
5 session.scan()
6 sessions.append(session)
7 sessionUrl = session.status()
8 urlId = sessionUrl['id']
9 for s in sessions:
10 if s.id == urlId:
11 return jsonify(s.domains()), 201
12 else:
13 return return jsonify({'message': 'Scan session not found'}), 404
14 except Exception as err:
15 return jsonify({'message': 'Invalid domain name'}), 400
如果我去掉第 10 行,我在第一次尝试时确实得到了有效的响应,但如果我用其他 URL 发送第二个请求,我会继续得到与第一个请求相同的 JSON。
我使用它作为我的基本代码,并且我没有使用原始 API,因为我需要它来处理一个请求。
编辑:如果我像这样将函数分成两部分:
@app.route('/twist', methods=['POST'])
def twist():
try:
session = Session(request.json.get('url'), nameserver=NAMESERVER)
session.scan()
sessions.append(session)
sessionUrl = session.status()
urlId = sessionUrl['id']
return jsonify(urlId), 201
except Exception as err:
return jsonify({'message': 'Invalid domain name'}), 400
@app.route('/twist/<sid>/domains')
def api_domains(sid):
for s in sessions:
if s.id == sid:
return jsonify(s.domains())
return jsonify({'message': 'Scan session not found'}), 404
我使用 发出两个单独的请求,urlId
因为sid
它就像一个魅力。
解决方案
推荐阅读
- android - KTOR 文件上传示例有什么问题?
- c++ - 将.csv读入`map
>` - sql - 在 Oracle SQL 中根据顺序分离结果
- python - 基于二进制掩码opencv改变像素颜色
- git - 编译多个版本的 C 程序进行测试
- pagespeed - 诊断性能问题 - 失败
- javascript - 从本地存储解析后显示对象数组
- html - 我放置了两个带有文本的 div,然后一个带有照片,最后一个带有更多文本。但似乎照片所占据的位置被忽略了?
- bash - Is there a way to escape $ and single quotes together in bash?
- javascript - 谷歌表脚本问题