(La siguiente es una historia de fondo, puede saltar a "Pregunta:" si lo desea)
Hay una página web para uno de mis cursos que acepta texto de entrada (se espera que sea código Python) y luego da una respuesta simbólica. Está destinado a ser utilizado como referencia para los lexers de Python que estamos escribiendo. Estoy tratando de automatizar mi proceso de prueba y poder verificar mi código sin abrir un navegador, copiar texto de un lado a otro, etc. Entonces, esto es lo que estoy tratando de hacer:
Tengo un archivo de Python de muestra llamado "x.py" y quiero publicarlo en el servidor como si hubiera completado ese formulario. He intentado:
curl --data-urlencode "[email protected]" http://matt.might.net/apps/pylex/pylex.php
Pero desafortunadamente, eso no funciona bien porque aparentemente "@x.py"
se publica como el contenido de mi archivo (es decir, "[email protected]"
lo que se publica, no "file=<contents-of-x.py>"
). Lo he intentado --form
y --data
tampoco han funcionado.
Pregunta:
Específicamente, si tengo un archivo con contenido no codificado en URL y el contenido de este archivo debe ser parte de una POST y estar asociado a un nombre en particular (en este caso file
), ¿cuál es la forma correcta de lograr esto? ?
"file=`cat x.py`"
Respuestas:
Lo que quieres es
"[email protected]"
(no=
).Desde la página del
curl
manual :fuente
Dejaré la respuesta de qmega como la aceptada, pero también pondré una respuesta que dejé en un comentario aquí para facilitar la lectura. Otra forma de hacerlo es simplemente especificando
"file=`cat x.py`"
. Para el comando completo, sería:fuente