0

以前はHTTPを使用してmysqlのphpに接続していましたが、より安全であるため、HTTPSを使用するように求められます。しかし、私は多くの方法を試しましたが、タブレットにPOSTまたは情報を取得できませんでした。自己署名証明書を作成し、ローカルコンピューターの信頼済みゾーンに追加したので、検証されていないかどうか尋ねられません。続行しますか。ブラウザで接続してみましたが、正常に動作し、必要なすべての情報が印刷されましたが、アプリからは印刷されませんでした。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));

Upfrontに感謝します。

4

1 に答える 1

1

HTTPSではなくHTTPを使用すると機能しますか?この問題は、サーバー上の自己署名証明書が Android によって信頼されていないことが原因で発生します。

この質問に対する受け入れられた回答を参照してください: Android での自己署名 SSL 受け入れ

于 2013-02-28T17:31:58.607 に答える