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 コマンドで API を叩こう

Last updated at Posted at 2023-08-14

目的

  • curlコマンドを使ってAPIを叩けるようになること
  • GET, POST, PUT, DELETE できるようになること
  • 以下のオプションの意味がわかること
    • -X
    • -H
    • -d

curlコマンドとは

項目 説明
何のため使う? URL を使ってデータの通信を行うため、APIを叩くため
どこで使う? コマンドプロンプトなどのコマンドラインやスクリプト
使うとどうなる? データを取得したり、データを処理させたりできます
いつ使う? API の動作確認など

こちらはコマンドプロンプトで curl コマンドを叩いている例
cmd_1.png

curl の使い方

文法は curl [URL] [OPTIONS] です
以下は URL が google.com、OPTIONS はつけないで叩いた例です
このような雰囲気で叩きますよの例です

C:\Users>curl google.com

上記のコマンドを叩くと以下の結果が返ってきます

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

curl オプション

curl の使い方は上記でご覧いただいた通りです
URL については叩く API の URL をそのまま記述するだけなの問題ないかと思います
OPTIONS これが使う場面によって色々変わるので問題になります
ではどんなオプションがあるのか見ていきましょう
※下の表以外にもオプションはありますが、簡潔のため割愛します

オプション 概要
-X メソッドの指定(GET, POST, PUT)などなど
-H 記述したヘッダー情報を送信する
-d 記述したデータを送信する

オプション:-H

コンテンツタイプや API キーなどの情報を記述します

例として下記の情報を記述したいとします

key value 説明
Content-Type application/json 送ったデータは json ですよってサーバーに伝えるための記述
X-API-KEY API キー API を使用するための認証情報を記述

以下のようなオプションをつけることになります

-H "Content-Type:application/json" 
-H "X-API-KEY:writeapikeyhere” 

オプション:-d

json でデータを送る際の例はこんな感じです

-d '{"key1":"value1","key2":"value2"}'

curlコマンドを作成してみましょう

以下の設定で API を叩きたいとします

項目 内容
メソッド POST
URL https://example.com
送るデータのタイプ json
API キー writeapikeyhere

また送るデータは以下のとします

{
    "key1": "v1",
    "key2": "v2",
}

ここまでの設定を踏まえてコマンド作成すると、
以下のようになります

curl -X POST https://example.com \
     -d "{\"key1\":\"v1\", \"key2\": \"v2\"}" \
     -H "Content-Type:application/json" \
     -H "X-API-KEY:writeapikeyhere”

AWS でAPI を自作して curl コマンドを叩く

本記事を作成した理由ですが、実は API Gateway で API を作成した後、動作確認するため curl コマンドを使用したときつまりに詰まったのでまとめたかったからでした~

こちらの記事を見ると AWS で API を自作して、curl コマンドを叩いて動作確認までできます

付録

そもそも API とは

HTTP method とは

WebAPI, REST API, WebSocket API とは

WebAPI

REST API

WebSocket API

API Gateway とは

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?