web-dev-qa-db-ja.com

curlがhttp応答本文(json)のみを出力し、他のヘッダーなどを出力しないようにする方法

以下のように、bashスクリプトでcurlを使用してサービスの応答を取得しています。

response=$(curl -isb -H "Accept: application/json" "http://Host:8080/some/resource")

サービスレスポンスはjsonタイプであり、ブラウザでは完全に素晴らしいレスポンスを得ることができました。

以下がecho $responseの出力です>

 Set-Cookie: rack.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRWJlY2JiOTE2M2Q1ZWI4NThjMDdi%0AYjRiOWRjMGMxMGEwYTBkMjE3NmJhZDVjYzY4YjY4ZTlmMTE2ZGVkYWE3MTMG%0AOwBGS
SIJY3NyZgY7AEZJIiVhZmQ2MmUyZGMxMzFmOGEwMjg3NDlhNWM3YmVm%0AN2FjNwY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi00MTc0OGM2MWNkMzljZTYxNzY3ZjU0
Y2I5OTdiYWRkN2MyNTBkYmU4%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLWRhMzlhM2VlNWU2%0AYjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkGOwBG%0A--ee97a62095e7d42129
 tontent-Length: 354c8; path=/; HttpOnly

これは、応答解析ロジックを壊しています。
私はこれが断続的に起こるのを見ましたが、これは奇妙です。

Curl出力から"only" json応答を取得する方法はありますか?

助けを感謝します! THX

55
Rishi

-iオプションを指定しています:

-i、-include

(HTTP)出力にHTTPヘッダーを含める。 HTTPヘッダーには、サーバー名、ドキュメントの日付、HTTPバージョンなどが含まれます。

コマンドラインからそのオプションを削除するだけです:

response=$(curl -sb -H "Accept: application/json" "http://Host:8080/some/resource")
97
Remy Lebeau