From: TAKAHASHI Masayoshi Date: 2002-12-08T23:23:04+09:00 Subject: [ruby-dev:19036] Re: open-uri - very easy net access library 高橋征義です。 REBOLの話は[ruby-talk:23713]などに出ていたのでした。 Tanaka Akira wrote: > > open(url, > > 'content-type' => 'application/x-www-form-urlencoded', > > :body => postdata) {|f| > > ... > > } > > > > のように適当なSymbolで指定するというのはどうでしょうか? > > 基本的にはそうなると思うのですが、content-type と body を直接指定する > のは手軽さが足りないと考えています。 基本的には Content-Type がなくて、POSTだと分かる場合は application/x-www-form-urlencoded でいいんではないでしょうか。 http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1 問題はどうやって「POSTだと分かる」か、でしょうか。 ・open-uriでできるのはGETとPOSTだけにして、:bodyがある 場合はPOSTにする。 ・Symbol使うとか、"$METHOD" みたいな特殊な名前を使うとか して、Headerではない情報の与え方を決め、それで与える。 # 後者の仕組みを使うなら、認証に関する情報を与えることも # できそうですが、Proxy認証などについてはまだまだ考えること # がありそうです。うむむ。 その他思いつきとして、「bodyの値が文字列の時はそのまま、 Hashの時はそれを属性名と属性値として、Arrayの時は multi-part/form-dataとして送る」というのがありますが、 あんまり深くは考えていないのでこれでは困ることもあるかも しれません。 高橋征義 (TAKAHASHI Masayoshi) E-mail: maki@rubycolor.org