关于powershell:CURL CouchDB复制命令 – 无效的JSON

CURL CouchDB Replication command - Invalid JSON

我正在curl中运行以下行,尝试设置couchdb复制:

1
curl -X POST -d '{"source":"http://user:[email protected]:5984/main","target":"main"}' -H 'Content-Type: application/json' http://user:password@siteB.com/_replicate

它不断返回以下错误:

1
{"error":"bad_request","reason":"invalid UTF-8 JSON"}

据我所知,JSON似乎是有效的。有什么想法吗?

我也在使用PowerShell。


我也经历过很多次。PowerShell解析器(谁知道为什么)删除JSON中的引号。

所以它发送到curl-like'源:http://user:[email protected]:5984/main,目标:main'你需要这样称呼它:

1
curl -X POST -d '{"""source""":"""http://user:[email protected]:5984/main""","""target""":"""main"""}' -H 'Content-Type: application/json' http://user:password@siteB.com/_replicate

查看http://pscx.codeplex.com/模块。当发现这些问题时,EchoArgs可能会有所帮助。


查看CouchDB维基,我发现这对解决您的问题很有用。基本上,在Windows下,您需要转义特殊字符,或者将JSON写入一个文件,并从curl cli中使用它。


正在查找此PowerShell模块fo couchdb并运行此:

1
2
New-CouchDBReplication -SourceServer localhost -TargetServer server1 -SourceDatabase test -TargetDatabase
test_replica -Continuous -Authorization"admin:password"


我以前对curl和powershell有过问题-我的解决方案是从批处理文件调用它(将输出放入powershell变量中)…我想这可能与曲度被曲度误解的方式有关——我从来没有在这个过程中找到它的底部……

也许这可以帮助http://huddledmass.org/the-problem-with-calling-legage-or-native-apps-from-powershell/