2010/07/24

AndroidからLighttpdにPOSTできない問題

AndroidからLighttpdにHTTP POSTすると、417エラー(Expectation failed error)が返ってきてしまう問題にはまった。調べてみると、Lighttpd 1.4では"Expect: 100-continue"に対応していないため、エラーになるようだ。

Lighttpd - Feature #1017: 'Expect' header gives HTTP error 417 - lighty labs

この問題を回避するためには、以下のようにすればよい。

HttpPost post = new HttpPost(url);
post.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,false);

はじめ、RubyのWEBrickを使ってプロトタイプ用にローカルにWebサーバーを起動していたけど、どうもHTTP POSTの処理が遅いのでCygwinのLighttpdに乗り換えたらこの問題にはまった。パフォーマンスの問題がなければ、WEBrickの方がお手軽でいいんだけどなぁ。

0 件のコメント:

コメントを投稿