catコマンドとヒアドキュメントとncコマンドと
生HTTPリクエストをヒアドキュメントを駆使して送りたいという話。
bashでやる場合
大抵の場合はこれでよいでしょう。
cat <<. | nc www.amazon.co.jp 80 GET / HTTP/1.1 User-Agent: curl/7.30.0 Host: www.amazon.co.jp Accept: */* .
zshでやりたい場合
上記の方法でもできますが、オススメはこちら。
{cat <<. GET / HTTP/1.1 User-Agent: curl/7.30.0 Host: www.amazon.co.jp Accept: */* . } | nc www.amazon.co.jp 80
これなら、ncコマンドの前に| nc www.amazon.co.jp 80
を外して、送信されるヘッダを確認することもできます。
nc以外にも使える強力な技です。
こちらの記事を参考にしました(ありがとうございます!)