From: Kazuhiro NISHIYAMA Date: 2001-02-08T02:32:53+09:00 Subject: [ruby-list:27616] Re: net/smtp,pop,http 1.2 pre2 On Wed, 7 Feb 2001 08:05:16 +0900 ryu@jaist.ac.jp wrote: > HTTP/1.0 200 OK > Server: Netscape-Enterprise/2.01 > Date: Tue, 06 Feb 2001 22:16:13 GMT > Set-cookie: registered=no; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2009 12:00:00 GMT > Set-cookie: xmen=off,0,0,1; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2009 12:00:00 GMT > Set-cookie: registered=no; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2010 12:00:00 GMT > Set-cookie: UID=BB5DDBAD3A80770B; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2010 12:00:00 GMT > Cache-Control: No-Cache > Content-length: 27212 > Content-type: text/html > > (以下略、HEAD リクエストなのに本体も返してきます。) > > 問題は Set-cookie フィールドの中身の expires の部分で、 ', ' が含ま > れていることで、単純に String#split(/, /) では中身を取り出せません。 > 2つ目の Set-cookie なんて、設定する値自体に ',' を持っていて、さらに > やっかいです。 > > 僕は現在のところ、 net/http.rb の連結する部分のメソッドを、 > Set-Cookieには使われなさそうなセパレータで連結するように上書きして、 > 凌いでいます。 "\n"をセパレータにするのはどうでしょうか? "registered=no; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2009 12:00:00 GMT\nxmen=off,0,0,1; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2009 12:00:00 GMT\nregistered=no; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2010 12:00:00 GMT\nUID=BB5DDBAD3A80770B; path=/; domain=.excite.co.jp; expires=Wednesday, 31-Dec-2010 12:00:00 GMT" という感じ。 -- ZnZ(ゼット エヌ ゼット) 西山和広(Kazuhiro NISHIYAMA)