我正在寻找一种方法来创建一个新的CouchDB用户而不使用Futon或Curl ...只是一个直接的http请求。
我找到的一种方法(http://stackoverflow.com/questions/3456256/error-creating-user-in-couchdb-1-0)将JSON文档放到“http:// localhost:5984 / _users / org.couchdb.user:username“创建用户。
我尝试过以下方法:
<cfhttp url="http://127.0.0.1/_users/org.couchdb.user:xyz_company" port="5984" method="PUT" username="#variables.couch_username#" password="#variables.couch_password#">
<cfhttpparam type="header" name="Content-Type" value="application/json">
<cfhttpparam type='body' name='org.couchdb.user:xyz_company' value='{"roles":[],"name":"xyz_company","salt":"3B33BF09-26B9-D60A-8F469D01286E9590","id":"org.couchdb.user:xyz_company","password_sha":"096EA41A5A81EA1507F2C6F7EDC364C0B82694AC","type":"user"}'>
我一直从Couch收到以下回复:
cfhttp.statuscode = 405方法不允许 cfhttp.filecontent =方法不允许; URL /_users/org.couchdb.user:xyz_company
不允许使用请求的方法PUT有任何想法或建议吗?
更新
我根据Marcello的建议编辑了我的代码。我仍然收到相同的405 Method Not Allowed错误。现在是代码:
<cfhttp url="http://127.0.0.1/_users/org.couchdb.user:xyz_company" port="5984" method="PUT" username="#variables.couch_username#" password="#variables.couch_password#"><cfhttpparam type="header" name="Content-Type" value="application/json;charset=UTF-8"><cfhttpparam type='body' value='{"roles":[],"name":"xyz_company","salt":"3B33BF09-26B9-D60A-8F469D01286E9590","_id":"org.couchdb.user:xyz_company","password_sha":"096EA41A5A81EA1507F2C6F7EDC364C0B82694AC","type":"user"}'></cfhttp>
还有其他建议吗?谢谢!
答案 0 :(得分:1)
curl 是一个直接的http请求。还有其他方法可以创建此类请求:您可以使用浏览器制作它们;你可以使用不同的程序(例如wget);甚至自己编写(例如用Python或用V8或Rhino编写的JavaScript)。