Saltar al contenido

enviar/publicar archivo xml usando la línea de comando curl

Siéntete libre de divulgar nuestros tutoriales y códigos con tus amigos, necesitamos de tu ayuda para ampliar esta comunidad.

Solución:

Si esa pregunta está relacionada con sus otras preguntas de Hudson, use el comando que proporcionan. De esta manera con XML desde la línea de comando:

$ curl -X POST -d '...' 
http://user:[email protected]:myport/path/of/url

Necesitas cambiarlo un poco para leer desde un archivo:

 $ curl -X POST -d @myfilename http://user:[email protected]:myport/path/of/url

Lea la página de manual. siguiendo un resumen para -d Parámetro.

-d/–datos

(HTTP) Envía los datos especificados en una solicitud POST al servidor HTTP, de la misma manera que lo hace un navegador cuando un usuario ha completado un formulario HTML y presiona el botón Enviar. Esto hará que curl pase los datos al servidor usando el tipo de contenido application/x-www-form-urlencoded. Compárese con la forma -F/–.

-d/–data es lo mismo que –data-ascii. Para publicar datos puramente binarios, debe usar la opción –data-binary. Para codificar en URL el valor de un campo de formulario, puede usar –data-urlencode.

Si alguna de estas opciones se usa más de una vez en la misma línea de comando, las piezas de datos especificadas se fusionarán con un símbolo & de separación. Por lo tanto, usar ‘-d name=daniel -d skill=lousy’ generaría un fragmento de publicación que parecería ‘name=daniel&skill=lousy’.

Si inicia los datos con la letra @, el resto debe ser un nombre de archivo para leer los datos o, si desea que Curl lea los datos desde la entrada estándar. El contenido del archivo ya debe estar codificado en URL. También se pueden especificar varios archivos. La publicación de datos de un archivo llamado ‘foobar’ se haría con –data @foobar.

Desde la página de manual, creo que estos son los droides que estás buscando:

-F/--form

(HTTP) Esto permite que curl emule un formulario completado en el que un usuario ha presionado el botón de enviar. Esto hace que los datos POST se doblen utilizando Content-Type multipart/form-data de acuerdo con RFC2388. Esto permite cargar archivos binarios, etc. Para forzar que la parte de “contenido” sea un archivo, prefix el nombre del archivo con un signo @.

Ejemplo, para enviar su archivo de contraseña al servidor, donde ‘contraseña’ es el nombre del campo de formulario en el que /etc/passwd será la entrada:

curl -F [email protected]/etc/passwd www.mypasswords.com

Así que en tu caso, esto sería algo como
curl -F [email protected]/some/file/on/your/local/disk http://localhost:8080

Puede usar la opción –data con archivo.

Escriba contenido xml en un archivo llamado soap_get.xml y use el comando curl para enviar la solicitud:

curl -X POST –header “Content-Type:text/xml;charset=UTF-8” –data @soap_get.xml your_url

valoraciones y reseñas

Tienes la opción de auxiliar nuestra tarea poniendo un comentario y dejando una puntuación te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *