HTTP通信の機能を持ったプログラムをテストするときに、どこにアクセスするか、迷うことがある。(モックが使えるならそれがいいけど)
そんなときにおすすめな、example.comとhttpbinを詳解してみる。
example.com
名前がそのままだが、example.com はちゃんと動くサイトである。よくサンプル文字列として(例えばメールアドレスとかで)仕込んでたのだが、最近まで本当に生きたサイトだとは知らなかった。
亜種に example.org とか example.netもある。RFC 2606に定義されているそうで、第三者に悪影響が及ばないことを保障することができるとある。Wikipediaにも記事がある。
ただ、あくまで普通のウェブサイトであり、「403をテストしたい」といった特殊なテストには合わない。そんな人にhttpbinをおすすめしたい。
httpbin
httpbin は高機能なレスポンスをJSONで返してくれるサイトだ。トップページを見ると、返してくれるエンドポイントの一覧が見られる。
具体的なエンドポイントを軽く紹介する。
/ip
https://httpbin.org/ip を叩くと自分のIPアドレスが返ってくる。つまり、IPアドレスを返すためのエンドポイント。
/headers
http://httpbin.org/headers を叩くと、リクエストしたヘッダーが返ってくる。ヘッダーのテストなどに。
/status/:statusCode
このエンドポイントは、特定のステータスコードを常に返すことができる。例えば、https://httpbin.org/status/418 は 418のステータスコードになる。
/delay/:n
これは、遅延したレスポンスを返す。例えばhttp://httpbin.org/delay/3は3秒待ってレスポンスを返す。
その他
他にも、認証のテストであったり、Cookieのテスト、リダイレクトのテスト、キャッシュのテストなどなどいろいろできるので、便利。
badssl.com
最後に、SSLのテストができる badssl.comを紹介する。このサイト上では、いろんな種類の良い/ダメなSSLのサブドメインがテストできる。例えばオレオレ証明書などがあるので、こういったサイトに接続できないかどうかなど、テストすると良いと思う。
他にもおすすめなサイトがあったら教えて下さい〜!