linux 我如何在这个脚本的末尾包含POST请求数据及其相应的url?

5kgi1eie  于 2022-11-02  发布在  Linux
关注(0)|答案(1)|浏览(120)
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运行成功url_2出错。状态代码:401,取决于状态代码。
假设“abc”:“123”是url_1的POST请求数据,“xyz”:“456”是url_2的POST请求数据。同样,可能会有很多数据,将它们全部放在一行中会让人感到困惑。因此,我想将这些数据移到它们各自的url中,它们位于末尾。类似于:

test_url '{"abc":"123"}' https://url_1.com url_1
test_url '{"xyz":"456"}' https://url_2.com url_2

我知道这是一个错误的格式,只是想给予一个例子。那么什么是正确的方式呢?

xzlaal3s

xzlaal3s1#

您可以尝试以下操作:

local status=$(curl -o /dev/null -s -w "%{http_code}\n" -H "Authorization: token abc123" -H "Content-Type: application/json" -d "$1" -X POST $2)

要调用:

test_url '{"abc":"123"}' "https://url_1.com"

相关问题