Rails Diary

プログラミングの学習記録です。

RUNTEQ(11)curlコマンド備忘録

curlコマンドって必要?

初見時に正直フォームから普通に打って試せば良くないか?と思ってしまったのですが実務では手軽にHTTPリクエストを試したいシーンが多くあるみたいで、そんな時に使われるんだそうです🤔

 

大半はまだ具体的な使用用途が浮かばずによく理解できなかったので、HTTP Headerの確認など、分かりそうなところだけをまとめてみました。

 

 

GETリクエス

$ curl {URL}

リクエストしたコンテンツがHTMLの状態で返ってくる。

 

$ curl https://www.google.com

↑コードの海が返ってきた

 

阿部寛さんのWebページがシンプルで見やすいという話をどこかで聞いたので、そちらで試して見ることに・・・

f:id:okmt_Aya_26:20211210161224p:plain

目に優しい・・・😭

以後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に変えて書く。

 

 

参考にしたサイト

curl コマンド 使い方メモ - Qiita

よく使うcurlコマンドのオプションまとめ(14個) - Qiita

PUT か POST か PATCH か? - Qiita