3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

curlコマンドでPOSTするのに必要だったオプションを調べる

Last updated at Posted at 2022-06-19

はじめに

curlコマンドで「どうやってコマンドを書けばPOSTできるんだろう」となり色々調べてPostできたのでまとめておく。

curlコマンドのオプションを知ることで、curlをより使いこなせるようになると思うので、便利そうだと思ったオプションについてもいくつか書いておく。

curlコマンドとは

まず初めにcurlコマンドは、データを転送するためのコマンドで、FTPやHTTP、Telnet,SMTP,HTTPSなどのさまざまな通信プロトコルに対応している。

apiに触る機会があると手軽にレスポンスを確認できるので重宝しているコマンド。

実際に書いたコマンド

$ curl -L -X POST 'https://api~' \-H 'Authorization: Bearer hogehoge' \-H 'Content-Type: application/json' \--data-raw '{"product": {"name": "string",  "sales_price": 1600}' | jq

様々なオプションがついているが、どれもPOSTするのに必要なものなので一つ一つの意味を整理していく。

-X(--request)

HTTPメソッドの指定をするオプション。--requestでも同じ意味を持つ。

-L(--location)

curlは、デフォルトではリダイレクトを追跡しないので、リダイレクトも追跡できるようにするオプション。

-H(-header)

HTTPヘッダーの指定ができるオプション。
リクエスト時に認証が必要だったので、Authorizationを指定して必要な値を付与した。

--data-raw

POSTリクエストでデータを指定することができる.

リクエスト時にはContent-Typeはデフォルトでapplication / x-www-form-urlencodedが指定される。

同じようなオプションで--dataがある。dataだとファイルをデータとして扱いたい場合は@<file>という形で指定できるが、--data-rawだと@<file>を使うことはできない。

他に便利そうなオプション

-o(-output ファイル名)

ファイル名を指定してダウンロードしたい時に使う。

もし対象のディレクトリがない場合は

--create-dirsのコマンドをつけてあげると、ディレクトリの作成まで行ってくれる。

ディレクトリの作成は毎回行なっていたので、このコマンドを早く知れていれば...という気持ち

-O(--remote-name)

指定した URL の内容をそのままファイルとしてダウンロードすることができる。

-s(-silent)

実行中のメッセージを表示しないようにする。

-sS(--show-error)

実行中のメッセージは表示されないがエラーは表示するようにする。

-f(--fail)

実行中に失敗してもエラーメッセージが表示されないようになる。

-4(--ipv4)

IPv4しか指定できない

-6(--ipv6)

IPv4しか指定できない

参考文献

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?