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?