病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

通信系テストのためのサイトのススメ:example.com、httpbin.org、badssl.com

HTTP通信の機能を持ったプログラムをテストするときに、どこにアクセスするか、迷うことがある。(モックが使えるならそれがいいけど)

そんなときにおすすめな、example.comhttpbinbadssl.comを紹介してみる。

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サブドメインがテストできる。例えばオレオレ証明書などがあるので、こういったサイトに接続できないようになってるかなど、テストすると良いと思う。

他にもおすすめなサイトがあったら教えて下さい〜!