###前提・実現したいこと
どなたかご存知のかたいらっしゃいましたら、ご教示頂ければ幸いです。
curlコマンド-iオプションの出力結果全てをシェルスクリプトの変数として取得したいのですが、HTML(コンテンツ)は変数に格納されるものの、レスポンスヘッダが変数に格納できません。
curlコマンド-iオプションで表示されるレスポンスヘッダまで含めてシェルスクリプトの変数として取得する方法をご教示頂ければ幸いです。
###発生している問題・エラーメッセージ
通常以下のように、-iオプションによりレスポンスヘッダ+HTML(レスポンスボディ)が返ってきます。
bash
1$curl -Ssi http://example.com/ 2 3HTTP/1.1 200 OK 4Accept-Ranges: bytes 5Cache-Control: max-age=604800 6Content-Type: text/html 7Date: Fri, 24 Feb 2017 05:07:53 GMT 8Etag: "359670651+ident" 9Expires: Fri, 03 Mar 2017 05:07:53 GMT 10Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT 11Server: ECS (rhv/818F) 12Vary: Accept-Encoding 13X-Cache: HIT 14Content-Length: 1270 15 16<!doctype html> 17<html> 18<head> 19 <title>Example Domain</title> 20 21〜〜〜 中略 〜〜〜 22 23</div> 24</body> 25</html>
しかし、以下のシェルスクリプトの出力では、-iオプションによって取得されるレスポンスヘッダが抜け落ちた出力となってしまいます。
▼シェルスクリプトソース
bash
1RES=$(curl -Ssi http://example.com/) 2echo $RES
▼上記シェルスクリプトの出力結果
bash
1$ ./test.sh 2 <!doctype html> <html> <head> <title>Example Domain</title> <meta charset="utf-8" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style type="text/css"> body { background-color: #f0f0f2; margin: 0; padding: 0; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; } div { width: 600px; margin: 5em auto; padding: 50px; background-color: #fff; border-radius: 1em; } a:link, a:visited { color: #38488f; text-decoration: none; } @media (max-width: 700px) { body { background-color: #fff; } div { width: auto; margin: 0 auto; border-radius: 0; padding: 1em; } } </style> </head> <body> <div> <h1>Example Domain</h1> <p>This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.</p> <p><a href="http://www.iana.org/domains/example">More information...</a></p> </div> </body> </html>
###補足情報(言語/FW/ツール等のバージョンなど)
OS: Ubuntu 16.04
シェル: bash
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/24 07:58