簡體   English   中英

解析 curl 對變量的響應並在 curl 中使用它

[英]Parse curl response to variable and use it in curl

我有以下腳本:

#!/bin/bash

TOKEN=$(curl -isX POST 'http://localhost:3005/auth/tokens' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "test@test.de",
  "password": "1234"
}' | grep X-Subject-Token | sed "s/X-Subject-Token: //g")

echo $TOKEN

curl --trace test.txt -X POST "http://localhost:3005/v1/users" \
        -H "Content-Type: application/json" \
        -H "X-Auth-token: $TOKEN" \
        -d '{
                "user": {
                        "username": "alice",
                        "email": "alice@test.com",
                        "password": "test"
                }
        }'

命令echo $TOKEN正在打印正確的結果(類似於 35be3d05-7f80-4b11-ad20-7a7110e9d3a7)。 從最后一個 curl 請求中,我從 curl 收到以下錯誤:

curl: (52) Empty reply from server

如果我寫在最后一個 curl 請求TOKEN="35be3d05-7f80-4b11-ad20-7a7110e9d3a7"該請求正在運行。 所以我猜 TOKEN 變量有問題。

親切的問候

編輯: Output 來自declare -p TOKEN

"eclare -- TOKEN="6770806a-1230-4f64-b519-1841e9deb5f1

我不得不刪除回車。 感謝@chepner!

解決方案:

TOKEN=$(curl -isX POST 'http://localhost:3005/auth/tokens' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "test@test.de",
  "password": "1234"
}' | grep X-Subject-Token | sed "s/X-Subject-Token: //g" | tr -d '\r')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM