我需要什么才能让我的手机应用程序连接到https数据库?

2024-10-06 12:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我需要应用程序做的是:

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

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


Tags: 用户信息数据库应用程序密码youtube网站方式
1条回答
网友
1楼 · 发布于 2024-10-06 12:33:57

可以使用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());
    }

要使用安全连接,只需将web url更改为https://www.mywebsite.com/login.php。在

相关问题 更多 >