.NET からRailsサーバーにPOST

.NETのネットワークプログラミングから、RailsサーバーにPOSTでファイルをアップロード。

CSRF対策 protect_from_forgery に対応しなければならないので、まずnewをGETして、authenticity_tokenとクッキーを取得する必要がある。

authenticity_tokenはPOSTのパラメータに入れる必要がある。

あとは取得したクッキーをリクエストにセットして、セッション情報を維持する。

 

これで、POSTは問題なく完了して、ステータスコード302。

しかし、createメソッドの最後のredirect_toにしたがって、他URLにリダイレクトする流れ、そのGETでエラー。

Rack::Multipart::Parser#fast_forward_to_first_boundaryで

EOFError - bad content body ってやつ。

ネットを探し回っても、よく分からない。

 http://d.hatena.ne.jp/ir9Ex/20070206/1170712339

これやっても解決しない。

リダイレクト先のurlを最初から.NETでリクエストしたら、エラーにならない。

 

最後のredirect_toをスタティックなページ、今回はpublic/index.htmlにしたらエラーにならなくなった。

 

 

 

参考サイト

http://dobon.net/vb/dotnet/internet/webrequestpost.html

http://dobon.net/vb/dotnet/internet/usecookie.html

http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html

http://d.hatena.ne.jp/ir9Ex/20070206/1170712339

今回は.NETでやったけど、Rubyでやる場合の参考サイト

http://q.hatena.ne.jp/1214807688

http://mymo.blog8.fc2.com/blog-entry-15.html

http://q.hatena.ne.jp/1297832226

http://www.red.oit-net.jp/tatsuya/java/browser/useragent.htm#MSIE