curl: GETリクエストを引数として渡す

curl: GETリクエストを引数として渡す

Heroku には、UNIX で問題なく動作する curl を使用してファイルをダウンロードできる便利なコマンドがあります。

curl -o latest.dump `heroku pgbackups:url`

バックティック内のコマンドは非常に長い URL を生成するため、Windows CMD コンソールにコピー/貼り付けするのが困難です。

バックティックは Windows では機能しないようですが、Windows で同等のものは何でしょうか? CMD に関する私の調査ではバッチ ファイルの作成に深く踏み込みましたが、この小さな目的にはやりすぎだと思います。curl のマニュアル ページを Google で検索しても、何もヒットしませんでした。他のリソースを Google で検索すると、POST 要求を生成することが示されているようですが、これはそうではないと思います。

Windows CMD で同等のコマンドは何ですか? ありがとう、sam

答え1

これはオリジナルの研究ではなく、MSDN ブログそこには次のように記されている

コマンドの出力を (...) 変数に読み込む明白な方法はありません。Unix スタイルのシェルでは、これはバッククォートによって行われます。(...)Windowsコマンドプロセッサには直接バッククォート機能がありませんただし、FOR コマンドを悪用することでこれを偽装できます。

そして、ここにそのような例がありますのためにUNIX のコマンドに似ていますecho `your_command`:

for /f "delims=" %i in ('your_command') do @echo "%i"
  • /f次の構文を有効にします (help for詳細については を参照してください)。

    FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
    
  • delim=空白での分割を無効にする

  • @echo変数の内容を出力します%iが、エコー呼び出し自体は抑制されます(@

答え2

@Eugen Rieck がすでに述べたように、適切なターミナルを使用することをお勧めします。ただし、あなたの質問に関しては:

  • バッククォート何かを実行し、その結果をインラインで使用するために使用され、評価するコマンド:

    echo `date`
    

    または

    echo $(date)
    

    印刷されます:

    mar jul  1 11:46:42 CDT 2014
    

    したがって、あなたの場合は、パラメータとしてherokuコマンドを実行しようとしています。次の質問を参照してください。pgbackups:urlバッチファイル - コマンド出力を変数として設定する方法としてキリスト教徒コメントで提案します。

  • リクエストにパラメータを渡すには、GETそのパラメータを URL に追加するだけです。たとえば、number数値を含むという名前の変数とを保持する という10名前の変数を渡す場合、URL は次のようになります。text"I'm a text"

    "http://example.com/script.php?number=10&text=I'm+a+text"
    

関連情報