curl コマンド利用TIPS ヘッダー変更、HTTPヘッダー取得など
curl って使える!と思った使い方のメモ。さっそくWindでも使うべく、Cygwinに追加インストール。
なんでも、よく目にするコマンドは、ちょいと使ってみないとですね。
複数パラメーターをもってる場合は "" で囲む
$ curl -X GET "http://hogehoge.hoge/api?param1=11111¶m2=22222"
"" で囲まないとQuery内の & がシェルで解釈されてバックグラウンドプロセス化してしまいます。
HTTPレスポンスを見る -I, -v
- -I : サーバーからのレスポンスヘッダーを表示。
- Webサーバーの設定触ったときとか、これでみると早いですね。これまでブラウザやtelnetで見てましたが、一発です。
$ curl -I http://www.google.com/ HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=UTF-8 Location: http://www.google.co.jp/?gfe_rd=cr&ei=Xv4RU8-gPITN8geX3IHgCQ Content-Length: 261 Date: Sat, 01 Mar 2014 15:35:58 GMT Server: GFE/2.0 Alternate-Protocol: 80:quic
- -v : サーバーとのやりとり表示(リクエストヘッダーなどを含む)
- DNSの解決からレスポンスされるHTMLまで、すべてがみれます
$ curl -v http://www.google.com/ * STATE: INIT => CONNECT handle 0x60002d400; line 1011 (connection #-5000) * Hostname was NOT found in DNS cache * Trying 173.194.117.178... ・・・ <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>302 Moved</TITLE></HEAD><BODY> ・・・
カスタムヘッダーをつけてリクエスト -H, -A
- H : 任意のヘッダー情報を付与
curl -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource
- A : ユーザーエージェントを変更
$ curl -i -A "custom" http://hostname/resource