2013-04-09 11 views
110

Sto usando l'utilità della riga di comando cURL per inviare HTTP POST a un servizio web. Voglio includere il contenuto di un file come entità del corpo del POST. Ho provato a utilizzare -d </path/to/filename> e altre varianti con informazioni di tipo come --data </path/to/filename> --data-urlencode </path/to/filename> ecc ... il file è sempre collegato. Ne ho bisogno come entità del corpo.Come inviare il contenuto del file come entità del corpo utilizzando cURL

risposta

187

Credo che stai cercando la sintassi @filename, ad es .:

curl --data "@/path/to/filename" http://... 

=====

ricciolo metterà a nudo tutte le nuove righe dal file. Se si desidera inviare il file con newlines intatto, utilizzare --data-binary al posto di --data

+13

Se si desidera essere realistici, è possibile eseguire: 'cat file.txt | curl --data "@ -" \ "( Breedly

+53

rimuove tutte le righe nuove dal file. Se vuoi inviare il file con newlines intatto, usa '--data-binary' al posto di' --data'. – Chris

+0

ora come si aggiungerebbe le credenziali di accesso per autorizzare questa richiesta? – anon58192932

Problemi correlati