cpan モジュールであるWebService::Simpleを使おうとしたらハマったのでメモしておきます。3時間くらい悩みました。
やろうとしたこと
github のAPI ('https://api.github.com/' から始まるやつ)を叩いて、任意のレポジトリのpull-request 数を取得しようとしました。
github のAPI を触れるcpan モジュールもあったんですが、
なんだか上手く動かなかったので使うのを諦めました。
ハマる
「リクエスト投げようとしたら失敗しました」という旨のエラーメッセージが出てきて、プログラムが容赦なくdie しました。ご覧ください、こちらがプログラ無になった瞬間です。
気づいたきっかけ
和田裕介氏が書かれた、第4回 Twitterから学ぶ,Web APIのキホン(3):Perl Hackers Hub|gihyo.jp … 技術評論社
に載っていたtwitter API を叩くソースコードを丸っとコピペして走らせてみたところ上手く行く
→やや、よく見たらtwitter のAPI はURI が'http' から始まっているじゃあないか!
→github のAPI は'https' から始まっているぞ……
→WebService::Simple のドキュメントを読む
→LWP を使っているらしい
→それじゃあ、LWP のhttps 通信を行うモジュール入れてみよう
→動いた!!!!
という感じでした。