我正在編寫一個bash腳本來從遠程網站下載文件。但是,遠程網站需要先提交POST表單然後返回一個文件。我設法找到該解決方案,它的工作原理great.Here是:Bash腳本 - 在POST後獲取帶有Curl的文件名
curl -F 'data=filename.rar' --user-agent 'Mozilla/4.0 POST' http://somewebsite.com/index.html -v > filename
現在的問題是,我必須將stdout時,服務器返回的文件,或者我會在screen.What我得到亂碼代碼想要的是,而不是硬編碼的'文件名',以獲得文件的真實名稱並在那裏重定向STDOUT。 使用-sI選項運行curl來獲取標題然後解析文件名不是解決方法,因爲curl不接受-I和-F選項的組合。它必須是其中之一,但只能使用-FI可以看到標題和服務器也發送文件與them.Is有一種方法來獲取只有標題(請記住,我也要發送發佈數據以獲取文件),所以我可以解析它們並提取文件名?然後,我會做出新的curl請求,但現在將該文件名稱作爲STDOUT值。或者有辦法讓curl自動從頭文件下載到文件名中?
剛試過Wget.Und,wget下載文件,但它保留名稱'index.php'。不知道如何使它保持原始文件名。 – Zed 2012-08-08 22:28:08
這裏有一些info.With - 服務器響應我可以得到標題,這裏是從輸出「內容處置:附件;文件名=」filenameblablabla.ZIP「現在如果我可以讓Wget使用該名稱而不是index.php ... – Zed 2012-08-08 22:42:12
如果沒有提供正確方向的想法,我的編輯可能會有所幫助 – Lipongo 2012-08-09 16:18:04