Comment envoyer du contenu de fichier en tant qu'entité physique en utilisant cURL
j'utilise cURL command line utility pour envoyer un message HTTP à un service web. Je veux inclure un fichier de contenu que le corps de l'entité de la POSTE. J'ai essayé d'utiliser -d </path/to/filename>
ainsi que d'autres variantes avec des informations de type comme --data </path/to/filename> --data-urlencode </path/to/filename>
etc... le dossier est toujours joint. J'en ai besoin en tant qu'entité corporelle.
3 réponses
je crois que vous cherchez la syntaxe @filename
, par exemple:
la bande des nouvelles lignes
curl --data "@/path/to/filename" http://...
de nouvelles lignes
curl --data-binary "@/path/to/filename" http://...
=====
curl supprimera toutes les nouvelles lignes du fichier. Si vous voulez envoyer le fichier avec newlines intact, utilisez --data-binary
à la place de --data
je sais qu'on a répondu à la question, mais dans mon cas, j'essayais d'envoyer le contenu d'un fichier texte à l'api Slack Webhook et pour une raison quelconque, la réponse ci-dessus ne fonctionnait pas. Peu importe qui, c'est ce qui a finalement fait l'affaire pour moi:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX
curl-X d'après-H --silent --data-urlencode "charge utile={\"text\": \"$(cat fichier.txt | sed " s / \" / '/ g")\"} https://hooks.slack.com/services/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ASDA
le fichier doit être dans votre répertoire de travail actuel