サーバーがログインエラーで応答しました!

サーバーがログインエラーで応答しました!

私が作成したスクリプトは次のとおりです。

for i in `cat cain.txt`
do
uuid=$(curl   -X POST -H "ACCEPT-LANGUAGE:en"   -H "Content-Type:application/json"   -H "Accept: application/json" -d  '{"username":"TheUserName"}'  H) 
> final.txt
fuid=$(echo "$uuid" | sed -nE 's/.*"serviceUuid":"(.*)","user.*/\1/p' >>  final.txt)
eval $fuid
echo $fuid

service_uuid=$(cat final.txt)
password=$(sed -n 1p cain.txt)
echo $service_uuid
echo $password

login=$(curl -X POST -H "ACCEPT-LANGUAGE:en"  -H "Content-Type: application/json;charset=utf-8"  -H "Accept-Encoding:gzip,deflate"   -H "Accept: application/json"  -H "Connection: keep-alive" -d  '{"serviceUuid":"${service_uuid}","password":"${password}"}'  HereTheUrl)

echo "$login"
if [ "$login" = "STATUS_OK" ]
then
echo "Password: $password"
break
else
echo "Trying: $password"
fi
done

実行すると、サーバーの応答は次のようになります。

{"status":{"code":"NOT_AUTHENTICATED","message":"HereTheUrl"},"body":{}}

この問題をどのように解決しますか?

(間違ったパスワードへの応答は「NOT_AUTHENTICATED」ではなく「ERROR」でなければなりません)

ベストアンサー1

この問題を解決しました。構文エラーが原因で問題が発生します。

エラーは「and」の場所に関連しています。 「in」だけを変更するだけです。

login=$(curl -X POST -H "ACCEPT-LANGUAGE:en"  -H "Content-Type: application/json;charset=utf-8"  -H "Accept-Encoding:gzip,deflate"   -H "Accept: application/json"  -H "Connection: keep-alive" -d  "{"serviceUuid":"${service_uuid}","password":"${password}"}"  HereTheUrl)

そして

uuid=$(curl   -X POST -H "ACCEPT-LANGUAGE:en"   -H "Content-Type:application/json"   -H "Accept: application/json" -d  "{"username":"TheUserName"}"

おすすめ記事