1

Apache サーバーに格納されている PHP API を使用して、リモート DB に接続する Android アプリを構築しています。

計画方法は次のとおりです。

(1) ユーザーがアプリでログインをクリックします (2) アプリが Web サーバー上の login.php を呼び出します (3) login.php が phpmyadmin SQL サーバーをチェックします (特定のデータベースとユーザー詳細のテーブル)

今、私は問題を抱えています!!

大学のサーバーを使用しています

通常、大学では、次の形式を使用して任意のファイルにアクセスできます。

たとえば、 http://doc.gold.ac.uk/~m00982/test.html

ここで ~m00982 は、大学に知られている私の学生 ID を表します。

元の問題に戻ります。Webブラウザから直接phpファイルにアクセスできます。しかし、次のような方法で Java をコーディングしました。

CustomHTTP クライアントは、最初に URL アドレスが正常でアクセス可能かどうかをチェックします。

サーバーによってアクセスが拒否されたため、doc.gold.ac.uk への接続を確立できないため、CustomHTTPClient FALSE としてエラーが発生します。大学のサーバーが接続するためにユーザー名とパスワードを要求するため、私はこれを認識しています。

どうすればこの問題を解決できますか???

プライベート Web サーバーを使用し (たとえば、Go Daddy で Web ホスティングを購入しました)、そこにファイルとフォルダーを保存すると、完全に機能し、その場合 CustomHTTPClient は TRUE になります。

アプリを実行する必要があるSQLデータベースがローカルに保存されているため、University Serverを使用する必要があります。

助言がありますか?

My CustomHTTPClient.Java snippet is here:

   public static boolean isAddressOk(String link){
        boolean isOK = false;
        try {
            URL url = new URL(link);
            HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
            urlCon.connect();
            if(urlCon.getResponseCode() == 200) {
                isOK = true;
                Log.i(DEBUG, "TRUE");
            }else{
                isOK = false;
                Log.i(DEBUG, "FALSE");
            }
            urlCon.disconnect();
        } catch (MalformedURLException e1) {
            isOK = false;
            Log.e(DEBUG, "FALSE");
            e1.printStackTrace();
        } catch (IOException e) {
            isOK = false;
            Log.e(DEBUG, "FALSE");
            e.printStackTrace();
        }

        return isOK;
    }
}  

パラメータはここで定義されます。

// the URL for IGOR Web Server where PHP Scripts are located
public static final String LINK_ROOT = "http://doc.gold.ac.uk";

// the link to login API on IGOR Server
public static final String LINK_LOGIN = LINK_ROOT + "/~ma00982/android/login.php";
4

0 に答える 0