我使用本教程http://rubylearning.com/blog/2009/09/30/cookie-based-sessions-in-sinatra/的標題爲「稍微大一些的示例」的示例中的代碼來弄清楚如何將cookie發送到Sinatra應用程序,但我無法弄清楚如何正確設置值如何使用curl將cookie傳遞給Sinatra應用程序?
當我在它創建與BAh7BiIJdXNlciIMYnJhbmRvbg%3D%3D%0A
的值是值BAh7BiIJdXNlciIMYnJhbmRvbg==
的URL編碼(http://ostermiller.org/calc/encode.html)使用該值的cookie的應用程序設置的名稱爲「布蘭登」我可以一個cookie發送到應用程序正確
curl -b "rack.session=BAh7BiIJdXNlciIMYnJhbmRvbg==" localhost:9393
我敢肯定,值是紅寶石哈希的會話的base64編碼,因爲文檔(http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html)說
會議是一個Ruby哈希存儲爲base64編碼整理數據設置爲:鍵(默認:rack.session)。
我認爲這意味着我所要做的只是base64編碼{"user"=>"brandon"}
並在curl命令中使用它。不幸的是,它創建了一個不同於BAh7BiIJdXNlciIMYnJhbmRvbg==
的值。接下來,我嘗試使用base64編碼值並在線解碼各種base64解碼器,但這會導致奇怪的字符(盒符號和其他字符),所以我不知道如何重新創建值甚至進行編碼。
所以我的問題是你知道什麼字符/格式我需要得到正確的base64編碼和/或你知道另一種方式來傳遞一個值使用捲曲,這樣它會註冊爲適當的曲奇爲一個Sinatra應用程序嗎?
你有沒有工作過?我有一個相關但相反的問題,我試圖解碼現有的Rack :: Session :: Cookie - 請參閱http://stackoverflow.com/questions/16312024/how-to-decode-a-cookie-from-the -weader-of-a-websocket-connection-handshake-rub – 2013-05-03 00:07:53