CURL无法通过命令行发送超过1024字节的发布数据

时间:2009-10-09 21:08:27

标签: xml linux unix curl shell

我试图通过在shell脚本中使用curl将大型XML文件发布到Web地址。我在curl中使用'-F'选项发布数据。每当我发布一个大于1024字节的文件时,文件就会被截断,只发送第一个1024.我尝试按照另一个PHP Curl解决方案的建议更改“Expect:”标题,但它不起作用。

这是我正在使用的命令行:

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

正如我先前所说,我已经尝试过两者 -H“期待:” -H“期待:100-继续”

都没有工作。请帮忙!

4 个答案:

答案 0 :(得分:4)

根据手册页,-F选项会执行POST,因此它看起来不像是GET问题。手册页还说文件前缀为@以使用该文件作为内容,因此命令可能是

curl -F xml=@some_file http://servername/page.html

答案 1 :(得分:4)

为了保存文件,您必须使用URL前面的@。我认为Troubadour已经提到了这一点,但它需要引用如下:

 curl -F "xml=@http://servername/page.xml"

另请注意,我将其更改为.xml,因为您说您尝试发布大型XML文件,而不是大型HTML文件。

答案 2 :(得分:1)

网址本身是否有此限制?您是否尝试通过网络浏览器手动发布相同的文件?

答案 3 :(得分:0)

我认为您需要使用-d而不是-f?

-d似乎发布了数据。正如Sab指出GET的最大大小非常小,你必须发布文件并执行此操作,你必须使用-d而不是-f。

Look here.