2017-02-16 19 views
0

我用cURL寫入文件時遇到問題。cURL - 寫入文件

我針對的是票務系統,並使用cUrl創建了票證。這工作完全正常。響應如下

% Total % Received % Xferd Average Speed Time Time  Time Current 
          Dload Upload Total Spent Left Speed 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0100 136 100 51 100 85 246 410 --:--:-- --:--:-- --:--:-- 414 
{"id": 132234998736, "result": 232, "error": null} 

最後,我需要在我使用臨時名稱稱爲XML文件的最後一行(例如13381981.xml)

現在,當我使用的是

-O "13381981.xml" 

在我的代碼文件無法找到一個額外的消息捲曲:遠程文件名沒有長度!

我錯過了什麼,我可以寫入一個XML文件?

因此,這裏是一個完整的例子:

curl -H "Content-Type: application/json" --data '{"params":["Header","Tickettext"], "method":"ticket.create", "id" 132234998131}' -o "test.xml" -u trac:trac http://test:8080/login/jsonrpc 
+0

現在,我不會得到一個錯誤信息,但沒有從售票系統 – wg15music

+0

答案如果我沒有使用帶文件名的-o,那麼所有的工作......它是否需要在請求中處於特殊位置? – wg15music

+0

好吧,修復它一點點,仍然說它不會找到該文件:S – wg15music

回答

1

傳遞給--data需要的參數被作爲現在它包含空格,從而,可以算作多個參數報價正常。然後curl會將不以短劃線( - )開頭的參數作爲URL來處理,而事情將從那裏向下。

一種可能性是封閉單引號內整個事情(這將不會在Windows上工作,雖然):

curl -H "Content-Type: application/json" --data '{"params":["Header","Tickettext"], "method":"ticket.create", "id" 132234998131}' -o "test.xml" -u trac:trac http://test:8080/login/jsonrpc 
+0

啊,我錯過了重新輸入代碼,我用它們之前,仍然使用它們:S 正如我所提到的,服務器的請求工作,我得到我需要的答案....我只是沒有把它寫入到一個文件中,因爲我真的只需要來自結果行號{「id」:132234998736,「result」:232,「error」:null } – wg15music

+0

抱歉無法解析。命令行工作並將響應保存在文件中。它回答你問到的問題。現在你似乎正在改變這個問題... –

+0

是的,它似乎更奇怪....也沒有錯誤是在開始時提出的,但如果我試圖打開文件,它無法找到文件....這就是真的很奇怪...... – wg15music