2009-10-09 99 views
1

我想通過在shell腳本中使用curl將大型XML文件發佈到Web地址。我使用curl中的'-F'選項發佈數據。每當我發佈一個大於1024字節的文件,文件就會被截斷,只發送第一個1024.我試着改變另一個PHP Curl解決方案中的「Expect:」頭文件,但它不起作用。CURL無法通過命令行發送超過1024字節的發佈數據

這裏是我使用的命令行:

curl -F "xml=</fileoutput.xml" http://servername/page.html 

正如我剛纔所說,我都試過 -H 「期待:」 -H 「期望:100繼續」

既不工作。請幫忙!

+1

1024似乎對我的GET極限 – 2009-10-09 21:13:34

回答

4

根據該男子頁-F選項確實做POST所以它看起來並不像它的一個GET問題。該名男子頁還表示前綴的文件與@使用文件的內容,這樣或許命令應該是

curl -F [email protected]_file http://servername/page.html 
+0

謝謝!即使我的破碎的例子(我解決它,並把代碼標籤,所以它顯示正常),你明白了! – adamweeks 2009-10-12 14:19:51

1

網址是否有這種限制?您是否曾嘗試通過網絡瀏覽器手動發佈相同的文件?

+0

好想!我只是測試了這一點,並能夠通過Firefox直接發佈一個大於1k的文件。 – adamweeks 2009-10-12 14:05:06

0

我認爲你需要使用-d而不是-f?

-d似乎發佈數據。正如Sab指出GET的最大尺寸非常小,您必須發佈文件並執行此操作,您必須使用-d而不是-f。

Look here.

4

爲了poast你在網址前面使用@的文件。我認爲遊吟詩人已經提到了這一點,但它需要像引號:

curl -F "[email protected]://servername/page.xml" 

還要注意,我把它改成.xml因爲你說你想發佈一個大的XML文件,而不是一個大的HTML文件。

+0

我接受了Troubadour的答案,因爲我的例子確實有引號,但沒有顯示,因爲我沒有在提問時將它放在代碼塊中。謝謝你的幫助! – adamweeks 2009-10-12 14:21:01