ここ数日、自作の情報収集ツールのうち、はてブのrssを利用しているタイプのスクリプトが軒並みエラーを吐いていたので修正をした。
色々ためしてみたが、はてなブックマークのサーバーがユーザーエージェントなしのアクセスを弾くようになったことが原因だと判断。
メモ:そこに至るまでの思考
- ブラウザからrssにアクセスすると正常に表示される→サーバーは生きている
- 村はてブや嫁のはてブ等の他のはてブrss利用系のウェブサービスも死んでいる→うちのスクリプトの問題ではない
- もともとはてな系の一部のapiはユーザーエージェントなしだと正常に取得できないケースが有った
- はてブにアクセスしたことがないレンタルサーバーからテストしたが、やはり動かない。過負荷により特定サーバーがbanされているわけではない
以上によりユーザーエージェント関係が怪しいと判断。
とりあえずphpの先頭の方に
ini_set('user_agent','android');
の1行を加えてテストをしてみたところ、あっさりとエラーは消えた。
以上により、今回表示できなくなった原因は、はてなブックマークのサーバーがユーザーエージェントなしのアクセスを弾くようになったことが原因だと思われる。