(Ce qui suit est une trame de fond, vous pouvez passer à "Question:" si vous le souhaitez)
Il y a une page Web pour l'un de mes cours qui accepte le texte d'entrée (qui devrait être du code Python) et donne ensuite une réponse symbolisée. Il est destiné à être utilisé comme référence pour les lexers Python que nous écrivons. J'essaie d'automatiser mon processus de test et de pouvoir vérifier mon code sans ouvrir de navigateur, copier du texte d'avant en arrière, etc. Voici donc ce que j'essaie de faire:
J'ai un exemple de fichier python nommé "x.py" et je veux le poster sur le serveur comme si j'avais rempli ce formulaire. J'ai essayé:
curl --data-urlencode "[email protected]" http://matt.might.net/apps/pylex/pylex.php
Mais malheureusement, cela ne fonctionne pas correctement, car apparemment, il "@x.py"
est publié comme contenu de mon fichier (c'est-à- "[email protected]"
dire ce qui est publié, non "file=<contents-of-x.py>"
). J'ai essayé --form
et ça --data
n'a pas marché non plus.
Question:
Plus précisément, si j'ai un fichier dont le contenu n'est pas encodé en URL, et que le contenu de ce fichier doit faire partie d'un POST et être associé à un nom particulier (dans ce cas, file
), quelle est la bonne façon d'y parvenir ?
"file=`cat x.py`"
Réponses:
Ce que vous voulez, c'est
"[email protected]"
(non=
).Depuis la
curl
page de manuel :la source
Je laisserai la réponse de qmega comme acceptée, mais je mettrai une réponse que j'ai laissée dans un commentaire ici aussi pour une lecture plus facile. Une autre façon de procéder consiste simplement à spécifier le type
"file=`cat x.py`"
. Pour la commande complète, ce serait:la source