こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、14年目エンジニアです。
この記事では、すぐに使えるモックサーバー「httpbin.org」をご紹介します。
「httpbin.org」とは
HTTPリクエストとレスポンスの動作確認をすぐに行えるモックサーバーです。
API開発のときにとても便利です。
使うのに会員登録は不要です。
リンク先はこちらです。
以下の画面が最初に表示されます。
基本的な使い方
基本的な使い方として
- HTTPメソッドの指定の仕方
- 返すレスポンスコードの指定の仕方
- 遅延の指定の仕方
を解説します。
HTTPメソッドの指定の仕方
「https://httpbin.org/」までは固定で、そのあと送信したいHTTPメソッドを指定します。
それぞれのHTTPメソッドを送りたい場合を表にまとめてみました。
HTTPメソッド | エンドポイント |
---|---|
GET | https://httpbin.org/get |
POST | https://httpbin.org/post |
PATCH | https://httpbin.org/patch |
PUT | https://httpbin.org/put |
DELETE | https://httpbin.org/delete |
実際にpostで投げるcurlコマンドはこんな感じです。
1 |
curl -i -X POST https://httpbin.org/post |
↑のコマンドを実行すると、↓のようにレスポンスが返されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
HTTP/2 200 date: Wed, 14 May 2025 14:50:22 GMT content-type: application/json content-length: 319 server: gunicorn/19.9.0 access-control-allow-origin: * access-control-allow-credentials: true { "args": {}, "data": "", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Host": "httpbin.org", "User-Agent": "curl/7.81.0", "X-Amzn-Trace-Id": "Root=1-6824adab-523a6c2e042df594591d94c7" }, "json": null, "origin": "xxx.xxx.xxx.xxx", "url": "https://httpbin.org/post" } |
もちろん、クエリ文字列を指定して実行することもできます。
1 |
curl -i -X POST "https://httpbin.org/post?id=123&password=pass123" |
↑のコマンドを実行すると、↓のようにどんなリクエストを投げたのかが確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
HTTP/2 200 date: Sun, 18 May 2025 12:08:30 GMT content-type: application/json content-length: 390 server: gunicorn/19.9.0 access-control-allow-origin: * access-control-allow-credentials: true { "args": { "id": "123", "password": "pass123" }, "data": "", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Host": "httpbin.org", "User-Agent": "curl/7.81.0", "X-Amzn-Trace-Id": "Root=1-6829cdbd-6775c00c24f2b47464079b1f" }, "json": null, "origin": "xxx.xxx.xxx.xxx", "url": "https://httpbin.org/post?id=123&password=pass123" } |
返すレスポンスコードの指定の仕方
「https://httpbin.org/status/」までは固定で、そのあと返してほしいレスポンスコードを指定します。
実際にレスポンスコード300で返してほしいときのcurlコマンドはこんな感じです。
1 |
curl -i -X POST https://httpbin.org/status/300 |
↑のコマンドを実行すると、↓のようにレスポンスコードが300で返されます。
1 2 3 4 5 6 7 |
HTTP/2 300 date: Wed, 14 May 2025 14:46:42 GMT content-type: text/html; charset=utf-8 content-length: 0 server: gunicorn/19.9.0 access-control-allow-origin: * access-control-allow-credentials: true |
これは、返ってくるレスポンスコードによって動きが変わる処理をテストしたいときに便利です。
遅延の指定の仕方
「https://httpbin.org/delay/」までは固定で、そのあと遅延させたい秒数を指定します。
実際に5秒遅延して返してほしいときのcurlコマンドはこんな感じです。
1 |
curl -i -X GET https://httpbin.org/delay/5 |
timeコマンドをつけて実行すると、レスポンスに5秒以上遅延していることが確認できました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
HTTP/2 200 date: Sun, 18 May 2025 11:54:02 GMT content-type: application/json content-length: 305 server: gunicorn/19.9.0 access-control-allow-origin: * access-control-allow-credentials: true { "args": {}, "data": "", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Host": "httpbin.org", "User-Agent": "curl/7.81.0", "X-Amzn-Trace-Id": "Root=1-6829ca55-0ec0194208146e9b3b5d456f" }, "origin": "xxx.xxx.xxx.xxx", "url": "https://httpbin.org/delay/5" } real 0m6.022s user 0m0.056s sys 0m0.000s |
timeコマンドについては、こちらの記事をご参考ください。
これは、レスポンスがタイムアウトした場合の処理の動きをテストしたいときに便利です。
まとめ:「httpbin.org」を使ってみよう
以上がHTTPリクエストとレスポンスの動作確認をすぐに行えるモックサーバー「httpbin.org」をご紹介です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント