在Shell脚本中调用HTTP接口,可以使用curl
命令行工具。以下是一些基本的示例:
发送GET请求:
# 发送一个简单的GET请求到指定URL,并打印响应内容
curl http://example.com/api/data
# 使用特定HTTP头发送GET请求(例如:设置Content-Type为application/json)
curl -H "Accept: application/json" http://example.com/api/data
# 将响应输出保存到文件而非终端
curl http://example.com/api/data > response.txt
发送POST请求(包括JSON数据):
# 发送一个带有JSON数据的POST请求
json_data='{"key1": "value1", "key2": "value2"}'
curl -X POST -H "Content-Type: application/json" -d "$json_data" http://example.com/api/submit
# 或者将JSON数据从文件读取并发送
curl -X POST -H "Content-Type: application/json" --data @data.json http://example.com/api/submit
检查返回状态码并根据结果执行操作:
# 发送请求并检查状态码是否为200
response=$(curl -s -o /dev/null -w "%{http_code}" http://example.com/api/data)
if [ $response -eq 200 ]; then
echo "请求成功"
else
echo "请求失败,状态码:$response"
fi
请根据实际API的需求调整上述命令中的URL、HTTP方法、头部信息和数据内容。