今天,用ruby寫一段執行檔案上傳的post**的時候,我寫下如下**:
p res不過這段**始終執行錯誤,rails提示bad content之類。但是,我將header,body與w3g上的http關於multiple form的協議進行了比較,但是沒發現有**不對。折騰了半天,只能除錯跟蹤到rails內部,發現rails在執行read_multipart方法,按照boundary擷取request體的時候老是多擷取乙個字元。比如,對於body來說,我這裡body的開始是--bbb,然後換行。但是在rails內部總是截取出--bbb c,多擷取了乙個c。納悶了半天,突然想起,unix/linux下面的換行是:換行符(lf),不像windows下面換行是:回車(cr)換行(lf),但是http協議正好是按照boundary+crlf進行request的解析,所以,造成我的request始終解析錯誤。所以,我將上面**,關於body的賦值改為如下:
req.body = %q
ok!大功告成,可以通過指令碼成功的傳送檔案上傳post請求
參考:2008.7.25 10:46 星期五
回車和換行在linux下和windows下
今天,我總算搞清楚 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別了。1.在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打...
Linux中回車與換行的區別
關於換行和回車其實平時我們不太在意,所以關於兩者的區別也不太清楚,在平時開發時可能會遇到一些檔案處理的問題,放到不同的作業系統上出現各種坑。那麼回車和換行到底有哪些區別呢?今天咱們就來總結一下。由來 在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的機械打字機,每秒...
Windows與Linux的回車換行轉換
最初 r return 表示 回車 即回到行首,n next 表示 換行 即定位到下一行 unix和linux使用 n 換行,而windows用 r n 不是 n r,已驗證 macos用 r linux文字傳到windows一般少了乙個換行 windows傳到linux的檔案,如果是一般文字文件顯...