python - 如何使用 bash 脚本而不是 python 发送此请求?
问题描述
import json
import requests
def query_records():
args = {
"table_name": "instance_group",
"filter_list": [
[
{
"field": "account",
"op": "SCmp",
"value": "finder-others-live_group_file"
}
]
],
"order_field": "id",
"start": 0,
"length": 500,
"order_inc": True
}
url = "http://misc.yard.wx.com:80/api/v1.0/query_records"
resp = requests.post(url, data=json.dumps(args))
print resp
print resp.content
if __name__ == "__main__":
# url = "http://misc.yard.wx.com:80/api/v1.0/query_records"
query_records()
这是一个用于发送 post 请求的 python 文件,但现在我需要使用 bash 脚本来发送这个请求。然后我使用 py2curl 包将请求转换为 curl 命令。
curl -v -X POST -H "Accept: */*" -H "Accept-Encoding: gzip, deflate" -H "Connection: keep-alive" -H "Content-Length: 196" -H "User-Agent: python-requests/2.25.1" -d "{\"table_name\": \"instance_group\", \"filter_list\": [[{\"field\": \"account\", \"op\": \"SCmp\", \"value\": \"finder-others-live_group_file\"}]], \"order_field\": \"id\", \"start\": 0, "length": 500, \"order_inc\": true}" http://misc.yard.wx.com:80/api/v1.0/query_recordsop/
但是当我执行python文件的时候,可以收到响应,但是执行这个curl命令时没有响应。为什么?我该怎么办?
解决方案
您可以使用 curl 文档中的以下参数,
https://curl.se/docs/manpage.html#--trace
-S, --show-error
您还可以使用以下参数,
-v, --verbose
在操作期间使 curl 冗长。对于调试和查看“幕后”发生的事情很有用。
要获得更多输出,您可以使用
--trace <file>
启用对给定输出文件的所有传入和传出数据(包括描述性信息)的完整跟踪转储。使用“-”作为文件名将输出发送到标准输出。使用“%”作为文件名将输出发送到 stderr。
推荐阅读
- javascript - HTML-如何使用 sweetalert 提交表单
- node.js - Mongoose - 枚举字符串数组
- reactjs - 为什么我的导航栏被禁用我无法单击按钮或搜索
- javascript - TypeError:无法访问属性“classList”,btnMenu 未定义 btnMenu
- c# - 在 Unity 中自定义 .csproj 启用可为空的引用类型
- sql - 在 SQL Server 中按顺序运行脚本(不使用批处理文件)
- python - 使用列表理解 Python 创建新列
- python - 用零完全填充具有 N 个空值的 pandas 数据框中的列
- amazon-web-services - 捕获谁更新了我在 AWS 中的 dynamodb 记录
- java - 将 byte[8] 转换为 long 的最快方法