Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何在CouchDB中创建一个指示用户名和密码的数据库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个在CouchDB中存储数据的 android应用程序,我需要从android应用程序创建一个数据库.我需要用 java方法执行命令“curl-X PUT http://user:passwd@127.0.0.1:5984/myDataBase”.

我已经实现了以下功能

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");

@R_419_1964@@H_696_23@
我遇到了同样的问题 – >您必须在标头中使用http身份验证.
所以只需将此标题行@L_696_16@到您的请求中:

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中创建一个指示用户名和密码的数据库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。