3

次のコードを使用して、curl を使用して HTTP ポスト リクエストを介してサーバーにヒットし、xml をリクエスト ボディとして送信しています。

curl -X POST -d @path to xml file URL

Ex: curl -X POST -d @C:\docs\test.xml http://www.example.com

これは、次のように json http 応答を正常に返します。

"header": {
    "product": "xxxxxxxxxx",
    "version": "xxxxxxxx"
},
"status": {
    "elapsedTime": 329,
    "httpReturnCode": 200,
    "statusCode": 0,
    "success": true,
    "startTime": 1350387905444,
    "statusDescription": "Successful"
},

しかし、この json 応答には、Web サービス呼び出しが返される時間である endTime タイムスタンプが表示されません。

コマンドを使用して、curl から URL の応答時間を調べる方法を知っています。

curl -o /dev/null -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} n" http://www.google.com

上記のコマンドは、応答時間をミリ秒単位で返します。curl を使用して http 応答のタイムスタンプを取得する方法はありますか? 私の要件は、要求本文 (XML ファイル) で http POST を使用してサーバーにヒットし、タイムスタンプの観点から応答時間を取得することです。どんな助けでも大歓迎です。

4

1 に答える 1

1

これを解決する 1 つの方法は、curl が環境変数によって呼び出される時間を含めることです。その後、応答時間の絶対時間を計算できます。

Windowsでは、これは

curl.exe -o NUL -w "Time: %TIME% Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total}\n" http://www.google.com
于 2015-10-12T08:44:47.887 に答える