0

我曾经使用 HTTP 连接到 mysql 的 php,现在我被要求使用 HTTPS,因为它更安全。但我尝试了很多方法,但无法让平板电脑发布或获取任何信息,我制作了一个自签名证书并添加到本地计算机受信任区域,所以我不会被问到它未验证我是否要继续,我尝试通过浏览器连接,它工作正常并打印了我需要的所有信息,但不是通过应用程序。我附上了我需要更改为 HTTPS 的以前的 HTTP 代码。需要一些帮助来将此连接更改为 HTTPS。

        httpclient = new DefaultHttpClient();
        httppost = new HttpPost ("http://xx.xx.xx.xx/E-MENU/login.php");        
        username = etUser.getText().toString();
        password = etPass.getText().toString();
        password = md5(SHA1(password));

    try{
        nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("username", username));
        nameValuePairs.add(new BasicNameValuePair("password", password));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        response = httpclient.execute(httppost);


    if(response.getStatusLine().getStatusCode() == 200){
        entity = response.getEntity();
            if (entity!= null){

    InputStream instream = entity.getContent();
    JSONObject jsonResponse = new JSONObject (convertStreamToString(instream));

谢谢前期。

4

1 回答 1

1

所以当你使用 HTTP 而不是 HTTPS 时它可以工作吗?该问题是由于服务器上的自签名证书不受 Android 信任造成的。

请参阅此问题的公认答案:Android 上的自签名 SSL 接受

于 2013-02-28T17:31:58.607 回答