1
curl -H "Accept: application/json" -H "Content-Type: application/json" -H "X-content: test_content" -H "X-Public: public_key" -H "X-Hash: $(printf "testcompany1" | openssl sha256 -hmac "secret_key" | sed "s/^.* //" | tr -d "\n")" -X GET http://192.168.100.20/rest/v01/customer/csv > /home/user/customer.csv
私が何をしたいのかが窓CMDでこれを使用することですシェル。 Cygwinとカールがインストールされています。だから私は$(コマンド)を使用して、私のスクリプトでは、ネストされたコマンドとして行われ、この私に不可解な、HMACハッシュにそれを追跡しています
$(printf "testcompany1" | openssl sha256 -hmac "secret_key" | sed "s/^.* //" | tr -d "\n")
は、どのように私は、Windowsのシェルcmdはこのことを認識し得るのですか?または、hmac authで休憩データを取得するための、別のよりスマートなアプローチがあるでしょうか?
実行中:printf "testcompany1" | openssl sha256 -hmac "secret_key" | sed "s /^.* //" | tr -d "\ n"を指定し、ハッシュをX-hashに挿入すると期待される結果が返されます。 FYI – larsbrandi
私はたくさんのお金を支払っても、Windowsのコマンドシェルにbashを翻訳することはできません。コマンドの標準出力を環境変数に埋め込むことができるSETコマンドのバリエーションがありますが、新しい問題に遅かれ早かれ実行します。とにかくCygwinがインストールされているので、bash/zsh/ruby/perl/whateveryoulikeにスクリプト全体を書いて、その上に小さなBATCHラッパーを書くのはいかがですか? – user1934428
私は同じ結論に達しました。私はバッチファイルを作った。これは私が最初に意図したようにlibreofficeから呼び出すことができます。 – larsbrandi