J'ai essayé ce qui suit pour envoyer un saut de ligne avec curl, mais \n
n'est pas interprété par le roulage.
curl -X PUT -d "my message\n" http://localhost:8000/hello
Comment puis-je envoyer un saut de ligne avec curl?
J'ai essayé ce qui suit pour envoyer un saut de ligne avec curl, mais \n
n'est pas interprété par le roulage.
curl -X PUT -d "my message\n" http://localhost:8000/hello
Comment puis-je envoyer un saut de ligne avec curl?
À l'aide de JavaScript syntaxe de la chaîne, votre shell est le passage d' "my message\\n"
curl plutôt que d' "my message\n"
. Si vous utilisez bash, utilisez $'my message\n'
à la place. Je ne sais pas quoi faire si vous utilisez tcsh.
curl -X PUT -d $'my message\n' http://localhost:8000/hello
J'ai trouvé ceci en cherchant la page de manuel de bash.
Si vous étiez à l'aide de zsh, vous n'auriez pas eu ce problème, echo "1\n2\n3"
tirages des retours à la ligne.
La solution pour quelqu'un qui ne veut pas utiliser les fichiers, et ne veut pas recourir à la coquille s'échapper de la magie est:
curl -X POST --data-binary @- http://url.com <<EOF
line one
line two
EOF
Mais c'est littérale des retours à la ligne dans le post de données de charge utile, et pas dans les champs de formulaire.
(Je me suis retrouvé ici avec une question légèrement différente, donc je vais juste poster ma réponse, car elle pourrait aider les futurs explorateurs)
Ma solution s'applique aux personnes qui sont à l'envoi du formulaire de données de style, c'est à dire des paires clé/valeur dans une chaîne de requête. L'utilisation de l'encodage du saut de ligne, qui est - %A0
, tout comme la façon codée de l'espace est - %20
. Vous pouvez utiliser http://meyerweb.com/eric/tools/dencoder/ pour convertir d'autres symboles.
Donc, si vous voulez configurer la touche message
de la valeur:
line one
another
vous souhaitez envoyer
curl --data "message=line%20one%A0another" http://localhost:8000/hello
Pas de réponse à votre question, mais je tiens à le contourner par la création d'un fichier temporaire contenant le message et saut de ligne, et de donner curl fichier à travailler sur:
curl -X PUT -d @message.txt http://localhost:8000/hello
À partir du manuel:
Si vous commencez les données avec la lettre @, le reste doit être un nom de fichier pour lire les données à partir de, ou - si vous souhaitez curl pour lire les données à partir de stdin. Le contenu du fichier doit déjà être URL-encodé. Plusieurs fichiers peuvent également être spécifiées. La publication des données à partir d'un fichier nommé "foobar" serait donc fait avec --data @foobar.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.