【问题标题】:What do I need to get my phone app to connect to a https database?我需要什么才能让我的手机应用程序连接到 https 数据库?
【发布时间】:2011-06-30 01:48:16
【问题描述】:

我想构建一个与数据库对话的应用程序。 以 youtube 应用程序为例。它连接到安全主机(需要登录名和密码),然后根据用户的查询返回给用户结果。

我需要应用程序做的是:

  • 获取用户登录信息(最好以安全的方式进行,不要将未加密的信息存储在用户手机上 - 我认为使用 GetPassword 可以轻松解决此问题,因此不必担心)
  • 一旦用户点击“登录”,在我的网站上验证用户身份(根本不知道如何研究如何做到这一点。我知道来自常规浏览器的登录页面的源代码在哪里,但不知道该怎么做)
  • 如何根据用户身份进行查询? (例如他们的电子邮件和其他相关数据)。

我会喜欢一些具体的例子以及一般的例子,如果有一个教程可以让手机应用程序与服务器通信,我也会喜欢。或任何其他相关教程。

【问题讨论】:

  • 这不是 Android 应用程序的代码。你标记错了吗?
  • 对不起,你是对的,那个代码没有地方。我在 python 中确实需要它,但是该代码让我知道我必须使用 httppost 来完成它。我试图弄清楚如何让它现在在电话上工作(我遇到的大部分问题与这部分代码无关)。我最近刚拿起 android,所以它是全新的(并且在 3-4 周前开始使用 python)

标签: android python sl4a


【解决方案1】:

您可以使用 HttpPost 和 HttpGet 请求与服务器通信。 HttpGet 在 url 中发送参数(例如:http://mysite.com/index.html?username=admin&password=cleartext)。这显然不是安全信息的首选方法。 HttpPost 在使用 https 加密的数据包中发送数据。这是将用户输入的数据发送到网页的示例。

    EditText usernameText = (EditText)findViewById(R.id.username);
    EditText passwordText = (EditText)findViewById(R.id.password);
    String postParameters = "u=" + usernameText.getText() + "&p=" + passwordText.getText();
    try {
        DefaultHttpClient kccClient = new DefaultHttpClient();

        HttpPost postRequest = new HttpPost("http://www.mywebsite.com/login.php");
        HttpEntity postEntity = new StringEntity(postParameters);
        postRequest.setHeader("Content-Type", "application/x-www-form-urlencoded");
        postRequest.setEntity(postEntity);

        HttpResponse postResponse = kccClient.execute(postRequest);
        HttpEntity postResponseEntity = postResponse.getEntity();

        responseText.setText(EntityUtils.toString(postResponseEntity));
    } catch(Exception e) {
        responseText.setText(e.getMessage());
    }

要使用安全连接,只需将网址更改为https://www.mywebsite.com/login.php

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 2020-01-16
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多