Google App Engine を利用し ameblo の RSS を軽量化した上で提供する
サービスを作ろうとしたのですが、正攻法では何をやってもダメ。
通信オプションには、
FetchOptions.Builder.allowTruncate()
を利用すれば、大きすぎるレスポンスの切捨てが有効になるハズなのですが、
有効にならなかった。
仕方なくAPI リファレンスを確認した所、
◆ResponseTooLargeException - レスポンスが大きすぎてリモート サーバーから抽出することができないこともあります。このような場合は、レスポンスの切り捨てが有効な状態でも例外がスローされます。 |
なんてこった。これは使えない。
fetch() では無く fetchAsync() を利用したのですが、実際に発生した例外は
java.util.concurrent.ExecutionException
でした。上記の例外オブジェクトをデバッグ出力すると、
com.google.appengine.api.urlfetch.ResponseTooLargeException
が確認できる。
AsyncHttpClent も 500 エラーでうまくいかないし、socket 通信も出来ないので、
ameblo の RSS を Google App Engine から取得するのは無理かもしれない。
どうすっかなー。
0 コメント:
コメントを投稿