Curl出力にリクエストURLを保存する

Curl出力にリクエストURLを保存する

次のコマンドは、URLでいっぱいのファイルを生成し、それをgnuパラレルに入力します。 curresponse.txtの出力にも元のリクエストURLを含めたいと思います。どうすればいいですか?

cat urls.txt  | parallel -j 5  curl -IL -k {} > curlresponse.txt

したがって、すべてのリダイレクト後の最終出力の例は次のようになります。

OriginalUrl
HTTP/1.1 200
Server: nginx
Date: Mon, 18 Mar 2019 07:35:11 GMT
Content-Type: text/html
Content-Length: 188
Connection: keep-alive

時にはURLがリダイレクトされる可能性があるため、最終的なhttp応答は元の要求URLを含む応答でなければなりません。

ベストアンサー1

厳密に言えば:

cat urls.txt  |
  parallel -j 5 echo {}';'curl -IL -k {} '|' perl -ne '/^HTTP.* 200/ .. 0 and print' > curlresponse.txt

--tagただし、この場合は通常、各行の前に入力を追加することをお勧めします。

cat urls.txt  |
  parallel -j 5 --tag curl -IL -k {} '|' perl -ne '/^HTTP.* 200/ .. 0 and print' > curlresponse.txt

通常、さらなる処理が容易になる。

おすすめ記事