前提・実現したいこと
●前提
実装で、「シェルスクリプトで内でcurlし、ステータスコードとレスポンスボディの2つから分岐させる処理」を書いています。
1回のcurlで、ステータスコードとレスポンスボディの2つのみを取得したいのですが、できません。
●できないこと(実現したいこと)
「curlレスポンスにて、ステータスコードとレスポンスボディの2つを取得する」
●できたこと
「ステータスコードのみ取得する」
「レスポンスボディのみ取得する」
「ステータスコード・ヘッダー・レスポンスボディのすべて取得する」
curlコマンドのオプションで実現可能だと一番うれしいのですが、よいオプションや方法がみつけられませんでした。
よい指定方法をご存じの方、ご教示いただけませんでしょうか?
試したこと
1.status_codeのみを取得
$ curl -LI google.com -o /dev/null -w '%{http_code}\n' -s 200
2.bodyのみを取得
$ curl google.com <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML>
3.status_codeとbodyの両方を取得(ヘッダーも入ってしまう)
$ curl -Ssi google.com HTTP/1.1 301 Moved Permanently Location: http://www.google.com/ Content-Type: text/html; charset=UTF-8 Date: Thu, 16 Jan 2020 03:28:27 GMT Expires: Sat, 15 Feb 2020 03:28:27 GMT Cache-Control: public, max-age=2592000 Server: gws Content-Length: 219 X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML>
取得後、("200","body")のように、リストやタプルのような感じで使用したいイメージです。
curlコマンドのオプションで実現可能だと一番うれしいのですが、よいオプションや方法がみつけられませんでした。
curlにお詳しい方、よい指定方法をご存じの方、知恵をかしていただけませんでしょうか?
よろしくおねがいします。
補足情報(FW/ツールのバージョンなど)
CentOS7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/16 07:27