Estoy tratando de usar cURL para PUBLICAR el contenido de un archivo, como si hubiera pegado ese contenido en un área de texto html. Es decir, no quiero cargar el archivo, solo quiero que un parámetro de publicación llamado foo se llene con texto de un archivo llamado bar.txt. El contenido de bar.txt puede incluir saltos de línea, comillas, etc.
es posible?
Gracias.
Editar: descubrí cómo hacerlo al final:
curl --data-urlencode "foo@bar.txt" http://example.com/index.phpEsto tomará el contenido del archivo bar.txt, lo codificará en URL, colocará la cadena resultante en un parámetro llamado foo en una solicitud POST de http://example.com/index.php .
No puedo hablar sobre si las soluciones que otros han sugerido funcionarán o no, pero la anterior parece ser la mejor manera.
Puedes hacer algo como:
$ curl --data "foo:$(cat foo.txt)" http://localhost/yourfile.phpTenga en cuenta que probablemente querrá codificar el archivo, como dijo cacheguard. Para codificarlo en base64, simplemente modifique el comando anterior así:
$ curl --data "foo:$(cat foo.txt | base64)" http://localhost/yourfile.phpDebe codificar/decodificar el contenido de su archivo (por ejemplo, usando el comando base64 en Linux).
archivo foo.txt:
8<---------------------------- Hello World I am a Secure Web Gateway 8<---------------------------- base64 foo.txt | base64 -d