web-dev-qa-db-fra.com

Comment POST Contenu de fichier à l'aide de CURL?

Je veux faire un HTTP POST du contenu (en tant que chaîne) d'un fichier local situé à path/to/my-file.txt à un point de terminaison d'URL à http://example.com/.

Par exemple, je pourrais vouloir faire ce qui suit:

  1. Extraire le contenu du fichier my-file.txt comme une chaîne.
  2. URL encoder la chaîne.
  3. Stockez la chaîne codée en tant que variable nommée foo.

Ensuite, faites quelque chose comme ça:

curl -d "data=foo" http://example.com/

(Je n'ai pas vraiment besoin de la variable foo. C'est juste un moyen pratique de décrire ma question.)

Quelles sont les commandes dont je devrais exécuter cela? Dois-je écrire un script shell? Si oui, comment pourrait-il regarder?

11
Mowzer

Comme mentionné dans cette question question connexe Si vous souhaitez télécharger le fichier sans modification (suppression du retour/ligne de ligne), vous voudrez peut-être utiliser le --data-binary Option:

curl -X POST --data-binary @path/to/my-file.txt http://example.com/
8
Pierz