1

我正在构建一个 Android 应用程序,它借助存储在 Apache 服务器上的 PHP API 连接到远程数据库。

这是计划的方式:

(1) 用户在应用程序上单击登录 (2) 应用程序在 Web 服务器上调用 login.php (3) login.php 然后检查 phpmyadmin SQL 服务器(特定数据库和表以获取用户详细信息)

现在,我有一个问题!

我正在使用学术型大学服务器

通常大学允许我使用以下格式访问任何文件:

例如, http://doc.gold.ac.uk/~m00982/test.html

这里 ~m00982 代表我大学知道的学生 ID。

回到我原来的问题。虽然我可以通过网络浏览器直接访问我的 php 文件。但是我以这样的方式编写了我的 Java:

CustomHTTP 客户端首先检查 URL 地址是否正常且可访问。

我收到 CustomHTTPClient FALSE 错误,因为它无法建立与 doc.gold.ac.uk 的连接,因为服务器拒绝访问。我知道这一点,因为大学服务器会要求输入用户名和密码才能连接。

我该如何解决这个问题???

如果我使用私人网络服务器(例如,我在 Go Daddy 上购买了网络托管)并将我的文件和文件夹存储在那里,它可以完美运行,并且 CustomHTTPClient TRUE 在这种情况下。

我需要使用大学服务器,因为我的 SQL 数据库存储在本地,我需要运行我的应用程序。

有什么建议么?

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