2010-05-06 5 views
8

Wie der Titel sagt. Ich sende eine einfache cUrl Cmd von Win7 zu CouchDB auf meiner Linux-Box, und es funktioniert nicht. Aber wenn ich denselben Befehl in Linux ausführe, funktioniert es. Ich sende diese:Running cUrl cmd von Win7 funktioniert nicht, aber unter Linux tut es

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

Aus den Fenstern, es hält was mir einen "Fehler: schlechte Anfrage, Grund: ungültige UTF-8 JSON". Ich kann GET-Befehle aus Windows einfach ausführen, ich kann einfach nicht auf CouchDB POST werden.

Antwort

13

Leider verwendet die Windows-Shell (cmd.exe) Anführungszeichen anders als Mac OSX und Linux.

Die einfachste Lösung ist, Apostrophe und doppelte Anführungszeichen, mit den doppelten Anführungszeichen im JSON-Dokument entkommen zu vermeiden:

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

Eine weitere Möglichkeit, ein ander Shell wie Bash für Windows zu installieren: http://win-bash.sourceforge.net/. Dann können Sie der Dokumentation folgen und Ihre eigenen Experimente leichter durchführen.

+1

Ah, danke! Ich zog mir die Haare aus dem Kopf und versuchte herauszufinden, wie es aussah. – jkidv

+0

Gern geschehen! – JasonSmith

Verwandte Themen