2011-02-28 20 views
42

He escrito un servicio utilizando el método HTTP PUT para cargar un archivo.Carga del archivo de prueba mediante el método HTTP PUT

Los navegadores web no son compatibles con PUT, por lo que necesito un método para realizar pruebas. Funciona muy bien como un POST que lo golpea desde un navegador.

actualización: Esto es lo que funcionó. Intenté Poster pero sufre de lo mismo que usar fiddler. Debe saber cómo crear la solicitud. curl se encarga del problema.

rizo -X PUT "localhost: 8080/urlstuffhere" -F "file = @ nombre de archivo" -b "JSESSIONID = cookievalue"

Respuesta

83

En mi opinión, la mejor herramienta para este ensayo no es curl. Su opción --upload-file carga un archivo con PUT, que es exactamente lo que quiere (y puede hacer mucho más, como la modificación de las cabeceras HTTP, en caso de que lo necesite):

curl http://myservice --upload-file file.txt 
+0

Gracias. ¿Hay una descarga de CURL que ya está construida? – Speck

+1

@ user381091 Depende de su plataforma, pero parece que muchos son compatibles. Aquí hay un enlace al asistente de descarga en el sitio web oficial de curl: http://curl.haxx.se/dlwiz/?type=bin – alienhard

+3

Tenga en cuenta que curl's ['--data'] (http: //curl.haxx. se/docs/manpage.html), la opción utilizada originalmente por esta respuesta es inapropiada para subir archivos, ya que elimina los caracteres de nueva línea y, por lo tanto, puede modificar el archivo. Lo reemplacé con ['--upload-file'] (http://curl.haxx.se/docs/manpage.html#-T) en su lugar. –

-1

Para curl, cómo sobre el uso del -d ¿cambiar? Me gusta: curl -X PUT "localhost:8080/urlstuffhere" -d "@filename"?

+1

-d (o --data) no es apropiado para la carga de datos genéricos. Ver documentación. – Enzo

+0

Ya veo, gracias. @Enzo – ibic

Cuestiones relacionadas