api - 使用 curl 测试烧瓶休息。具有多个查询参数的 GET 请求
问题描述
我正在使用 Flask 框架来创建其余的 API。下面的代码是我写的其余部分。
@app.route("/posts/v2/list_by_date", methods=['GET'])
def public_posts_list_by_date():
tracker_id = request.args.get('tracker_id')
advanced_filters = request.args.get('filters')
if advanced_filters:
advanced_filters = json.loads(advanced_filters)
else:
advanced_filters = {}
“过滤器”是一个参数数组,例如 start_date、limit、offset、end_date。
我想测试其余的,我用这个命令来测试它:
curl http://172.31.32.22:3100/posts/v2/list_by_date?tracker_id=6939&filters=start_date=2020-11-30T15:05:05&end_date=2021-01-20T15:05:05
问题是我没有收到烧瓶中过滤器的参数,它总是空的。我尝试了上述命令和许多其他 curl 命令但仍然没有发送过滤器参数。
解决方案
使用参数--data-urlencode
预先对数据进行编码。
另请参见此处。
curl -G "http://172.31.32.22:3100/posts/v2/list_by_date" \
--data-urlencode 'tracker_id=6939' \
--data-urlencode 'filters={"start_date":"2020-11-30T15:05:05", "end_date":"2021-01-20T15:05:05"}'
推荐阅读
- databricks - 如何将本地文件复制到 Azure Databricks DBFS 文件存储
- javascript - 有什么方法可以区分 javascript 中的 window.print、File->Print 和 Ctrl+P 事件吗?
- google-bigquery - 查询多个分区 bigquery
- mariadb-10.4 - Maxscale 在节点重启后失去用户同步
- android - 如何在 Android 中使用 url 图片通知 LargeIcon?
- php - 通过 Sendgrid 将表单数据作为 PDF 附件发送
- c++ - 如何在最后的排序双向链表中插入节点?
- vue.js - VueJS SideMenuBar 组件
- python - 列表列表(二维数组)迭代和赋值
- c - 值开头的 0 未显示在输出中