Webプログラムの開発では、クライアントとサーバー間のリクエストパラメータやレスポンスなどの仕様を十分に把握し、実装していく必要があります。
クライアントとサーバー間の通信が正常にできていないと、どこの部分でエラーになっているのかを把握するための切り分けが大変になります。
本記事で紹介するのは、クライアントのリクエストパラメータを確認できる『httpbin』というWebサービスとなります。
httpbin は、Webサービスとして利用する方法と、ローカルにインストールして利用する方法があります。
今回は、webサービスの利用方法を説明いたします。
公式サイトのwebサービス
http://httpbin.org
https://httpbin.org
http://eu.httpbin.org
https://eu.httpbin.org
上記のURLに対して、さまざまなパラメータを送信すると、パラメータに応じたレスポンスを返してくれます。
httpbinの使用方法 ipアドレスを取得するサンプル
1 2 3 4 |
[hoge@test]$ curl http://httpbin.org/ip { "origin": "183.90.235.15" } |
ユーザーエージェントを取得
クライアントのユーザーエージェントを取得する場合には、下記のリクエストを送信します。
1 2 3 4 |
[hoge@test]$ curl http://httpbin.org/user-agent { "user-agent": "curl/7.72.0" } |
通常のGETリクエストの送信
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[hoge@test]$ curl https://httpbin.org/get?hoge=1 { "args": { "hoge": "1" }, "headers": { "Accept": "*/*", "Host": "httpbin.org", "User-Agent": "curl/7.72.0", }, "origin": "183.90.235.15", "url": "https://httpbin.org/get?hoge=1" } |
レスポンスのHTTPステータスコードの取得
1 2 3 4 5 6 7 8 9 |
[hoge@test]$ curl -I http://httpbin.org/status/404 HTTP/1.1 404 NOT FOUND Date: Thu, 16 Sep 2021 08:29:19 GMT Content-Type: text/html; charset=utf-8 Content-Length: 0 Connection: keep-alive Server: gunicorn/19.9.0 Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true |
通常のPOSTリクエストの送信
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[hoge@test]$ curl -X POST -d "hoge=fuga" http://httpbin.org/post { "args": {}, "data": "", "files": {}, "form": { "hoge": "fuga" }, "headers": { "Accept": "*/*", "Content-Length": "9", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "curl/7.72.0", }, "json": null, "origin": "183.90.235.15", "url": "http://httpbin.org/post" } |
webアプリケーションは、さまざまな環境を把握し、多くのシステムと連携する機会が多くなってきています。
少しでも、開発効率を上げる工夫が必要になっています。
今回ご紹介した、『httpbin』 も使いこなすことで、開発効率がかなり上がると思います。
ぜひ、ご活用してみてください。