2014-01-11 35 views
4

我試圖用cURL來發布文件的內容,就好像我將這些內容粘貼到html textarea一樣。這就是說,我不想上傳文件,我只想要一個名爲foo的發佈參數填充名爲bar.txt的文件中的文本。 bar.txt的內容可能包括換行符,引號等。如何使用cURL將文件的內容作爲POST參數發送?

這可能嗎?

謝謝。

編輯:我發現瞭如何做到底:

curl --data-urlencode "[email protected]" http://example.com/index.php 

這將需要的文件跳回到bar.txt的內容,URL編碼它,放在一個名爲foo的參數結果字符串POST請求http://example.com/index.php

我不能說別人提出的解決方案是否會起作用,但上面的解決方案似乎是最好的方法。

+0

我不知道如何標記此爲已解決,但它是。 –

回答

0

您應該對文件的內容進行編碼/解碼(例如,在Linux下使用base64命令)。

文件foo.txt的:

8<---------------------------- 
Hello World 
I am a Secure Web Gateway 
8<---------------------------- 
base64 foo.txt | base64 -d 
1

您可以通過類似:

$ curl --data "foo:$(cat foo.txt)" http://localhost/yourfile.php 

注意,你可能會想編碼文件,如cacheguard說。要在base64中對其進行編碼,只需修改上述命令,如下所示:

$ curl --data "foo:$(cat foo.txt | base64)" http://localhost/yourfile.php 
相關問題