ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

httpbin について調べてみました

httpbin について調べたことをここにメモします。

httpbin

httpbin は、HTTP リクエストのテストやデバッグのための便利なサービスです。主に API 開発やネットワーク通信の動作確認に使用されます。

特徴

  • HTTPリクエストの内容を確認できる
  • GET, POST, PUT, DELETEなどのHTTPメソッドをサポート
  • リクエストヘッダーやクエリパラメータの確認
  • レスポンスのステータスコードやJSONデータのシミュレーション
  • リダイレクトや認証の動作確認
  • レートリミットや遅延のシミュレーション

主なエンドポイント例

https://httpbin.org/get GETリクエストの詳細を表示
https://httpbin.org/post POSTリクエストの詳細を表示
https://httpbin.org/status/404 任意のHTTPステータスコードを返す
https://httpbin.org/delay/3 指定した秒数だけ遅延させる
https://httpbin.org/headers リクエストヘッダーを表示
https://httpbin.org/ip クライアントのIPアドレスを表示

使用例

Python を使ったサンプルコード
import requests

response = requests.get('https://httpbin.org/get', params={'key': 'value'})
print(response.json())

レスポンスについて

httpbin.org の /get エンドポイントなどを使った際に返される JSON レスポンスの中に含まれる origin フィールドは、リクエストを送信したクライアントのIPアドレス を示します。

curl
curl https://httpbin.org/get
レスポンス例
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.64.1",
    "X-Amzn-Trace-Id": "Root=1-abcdef1234567890abcdef1234567890"
  },
  "origin": "xxx.xxx.xxx.xxx",
  "url": "https://httpbin.org/get"
}
  • origin の意味
    • xxx.xxx.xxx.xxx の部分が、リクエストを送信したクライアントのグローバルIPアドレスです。
    • 通常は、インターネットに接続しているデバイスのIPアドレスが表示されます。