2010-05-06 14 views
8

Como dice el título. Estoy enviando un simple cmd cUrl desde Win7 a CouchDB en mi caja Linux, y no funciona. Pero si ejecuto el mismo comando en Linux, funciona. Estoy enviando este:Ejecutar cUrl cmd de Win7 no funciona, pero en Linux lo hace

curl -X POST 192.168.2.5:5984/test/testdoc -d '{"owner":{"fname":"test","lname":"ing"}}' 

De ventanas, que sigue mostrándome un "error: solicitud incorrecta, la razón: no válido UTF-8 JSON". Puedo ejecutar comandos GET desde Windows, simplemente no puedo CORREGIR a CouchDB.

Respuesta

13

Desafortunadamente, el shell de Windows (cmd.exe) usa comillas de manera diferente a Mac OSX y Linux.

La solución más simple es evitar las comillas sencillas y utilizar comillas dobles, con las comillas dobles en el documento JSON escapado:

curl -X PUT 192.168.2.5:5984/test/testdoc -d "{\"owner\":{\"fname\":\"test\",\"lname\":\"ing\"}}" 
{"ok":true,"id":"testdoc","rev":"1-299729b3cb92a371136cb7331c66644d"} 

Otra opción es instalar una cubierta diferente, como Bash para Windows: http://win-bash.sourceforge.net/. Luego puede seguir la documentación y hacer sus propios experimentos más fácilmente.

+1

¡Ah, gracias! Estaba tirando de mi cabello, tratando de descubrir este. – jkidv

+0

¡De nada! – JasonSmith

Cuestiones relacionadas