RUNTEQ(11)curlコマンド備忘録
curlコマンドって必要?
初見時に正直フォームから普通に打って試せば良くないか?と思ってしまったのですが実務では手軽にHTTPリクエストを試したいシーンが多くあるみたいで、そんな時に使われるんだそうです🤔
大半はまだ具体的な使用用途が浮かばずによく理解できなかったので、HTTP Headerの確認など、分かりそうなところだけをまとめてみました。
GETリクエスト
$ curl {URL}
リクエストしたコンテンツがHTMLの状態で返ってくる。
↑コードの海が返ってきた
阿部寛さんのWebページがシンプルで見やすいという話をどこかで聞いたので、そちらで試して見ることに・・・
目に優しい・・・😭
以後URLを使うときは阿部寛さんのWebページURLを使用していきたいと思いました。
HTTP Headerを確認する
①レスポンスのHTTPヘッダー
$ curl -I -s {URL}
-I・・・Headerのみを取得し出力する
-i・・・小文字にするとResponse Header,Bodyの両方を出力できる
-s ・・・これはよく分からないけれど、邪魔なデータを省いてスッキリとした見た目に整えて返してくれるコマンドだと思う。(--silent)
②リクエストのHTTPヘッダー
$ curl -V -s {URL}
-V・・・詳細をログ出力(--verbose)
こちらも大文字Vの時はヘッダーのみ、小文字vの時はBodyも一緒に出力された
POSTリクエスト
-X POSTオプションを付与
-X・・・HTTPメソッドを指定するオプション
パラメータ付きPOST
$ curl -X POST -F 'article[title]=hoge' -F 'article[content]=fuga' {URL}
もしくは
$ curl -X POST -d 'article[title]=hoge&article[content]=fuga' {URL}
-d(--data)・・・POSTする際は、何らかのパラメータやデータを-dオプションの後に記述して送信する
↑curlコマンドで新規作成するとき、-XでPOSTメソッドを指定していた。
-Fについて
-F・・・フォームからファイルのアップロードをする時のオプション(--form)
$ curl -F FORM_ID=@example.png {URL}
よく使うcurlコマンドまとめでは↑みたいな使われ方をしていた。指定したファイルを指定したURLにアップロードする?
新規投稿では、-Xと組み合わせて、フォームに入力せずとも新しい投稿が作成できている。
投稿した内容を編集
$ curl -X PATCH(もしくはPUT) -d 'article[title]=編集する&article[content]=curlコマンドで編集する' {URL}
新規投稿したときと、形は同じ。
HTTPメソッドをPATCHもしくはPUTに変えて書く。