2009-10-09 73 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