【发布时间】:2022-01-25 17:29:19
【问题描述】:
test_url() {
local status=$(curl -o /dev/null -s -w "%{http_code}\n" -H "Authorization: token abc123" -H "Content-Type: application/json" --request POST -d '{"abc":"123", "xyz":"456"}' "$1")
if [ "$status" = 200 ]; then
echo "$2 is running successfully"
else
echo "Error at $2. Status code: $status"
fi
}
test_url https://url_1.com url_1
test_url https://url_2.com url_2
上面的脚本所做的只是打印 url_1 is running successful 或 Error at url_2。状态码:401,取决于状态码。
假设 "abc":"123" 是 url_1 的 POST 请求数据,而 "xyz":"456" 是 url_2 的请求数据。同样,可能有很多数据,将它们全部放在一行中会令人困惑。所以我想将数据移动到它们各自的最后的url。比如:
test_url '{"abc":"123"}' https://url_1.com url_1
test_url '{"xyz":"456"}' https://url_2.com url_2
我知道这是一个错误的格式,只是想举个例子。那么正确的做法是什么呢?
【问题讨论】:
标签: linux bash curl post script