我已经实现了以下功能:
public static boolean createDatabase(String hostUrl,String databasename) { try { httpPut httpPutRequest = new httpPut(hostUrl + databasename); JsONObject JsonResult = sendCouchRequest(httpPutRequest); return JsonResult.getBoolean("ok"); } catch (Exception e) { e.printstacktrace(); } return false;}private static JsONObject sendCouchRequest(httpUriRequest request) { try { httpResponse httpResponse = (httpResponse) new DefaulthttpClIEnt().execute(request); httpentity entity = httpResponse.getEntity(); if (entity != null) { inputStream instream = entity.getContent(); String resultString = convertStreamToString(instream); instream.close(); JsONObject JsonResult = new JsONObject(resultString); return JsonResult; } } catch (Exception e) { e.printstacktrace(); } return null;}
我通过以下方式调用函数:
createDatabase("http://user:passwd@127.0.0.1/","myDataBase");
但没有结果.我认为问题在于用户:passwd,因为在“管理员方”模式下,功能可以通过以下方式正常工作:
createDatabase("http://127.0.0.1/","myDataBase");解决方法 我遇到了同样的问题 – >您必须在标头中使用http身份验证.
所以只需将此标题行添加到您的请求中:
private static voID setheader(httpRequestBase request) { request.setheader("Accept","application/Json"); request.setheader("Content-type","application/Json"); request.setheader("Authorization","Basic base64(username:password)");}
请记住,您必须使用base64对短语“username:password”进行编码.
这看起来像这样:
request.setheader("Authorization","Basic 39jdlf9udflkjJKDKeuoijdfoIEr");总结
以上是内存溢出为你收集整理的android – 如何在CouchDB中创建一个指示用户名和密码的数据库全部内容,希望文章能够帮你解决android – 如何在CouchDB中创建一个指示用户名和密码的数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)