CURL CouchDB复制命令

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

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

它不断返回以下错误:

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

据我所知,JSON似乎有效。 有任何想法吗?

我也使用Powershell。


它也发生在我身上很多次。 PowerShell解析器(谁知道为什么)会删除json中的引号。

所以它会像'{source:http:// user:password@siteA.com:5984 / main,target:main}'那样发送它,你需要像这样调用它:

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

看看http://pscx.codeplex.com/模块。 EchoArgs在发现此类问题时可能会有所帮助。


看着CouchDB wiki,我发现这可能对解决你的问题有用。 基本上在Windows下,您需要转义特殊字符或将JSON写入文件并使用curl CLI中的JSON。


我之前曾经遇到过curl和PowerShell的问题 - 我的解决方案是从批处理文件中调用它(将输出放入PowerShell变量中)...认为它可能与参数传递的方式有关,从而导致错误解释 - 我从来没有达到它的底部,因为这工作...

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

链接地址: http://www.djcxy.com/p/8533.html

上一篇: CURL CouchDB Replication command

下一篇: How to use CURL/CygWin to send files from local Windows machine to Server?