Java GET请求PHP URL未发送

时间:2015-06-22 20:20:49

标签: java php android mysql

我试图让我的Java程序向以下(伪)PHP文件发送GET请求:

www.domain.com/example.php

这是PHP脚本:

public class phpGET extends AsyncTask<Void, Void, Void> {
    protected Void doInBackground(Void... params) {

    try {

        URL url = new URL("http://domain.com/example.php?auth=David+Cameron");
        URLConnection connection = url.openConnection();
        connection.connect();

    } catch (Exception e) {

        Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();

    }

    return null;
}

上面的php是相当自我解释的。当收到GET请求时,它会将请求的内容打印到页面,并将其添加到名为“accesscode”的表中的“ID”列中。

因此,如果输入“ www.domain.com/example.php?auth=Brad+Pitt ”,PHP文件将打印出Brad Pitt并将其添加到“accesscode”表中。

好的,够简单。除了我希望我的Java程序也能够发送GET请求。所以我设计了以下函数,该函数由 new phpGET()。execute()调用:

<uses-permission android:name="android.permission.INTERNET" />

}

现在只是为了确认,上面没有发现错误。但由于某些原因,它必须无法将GET请求( http://domain.com/example.php?auth=David+Cameron )发送到php文件,因为在调用函数后David Cameron未添加到数据库中,按照预期。

我确认我有以下Android清单权限:

class ClassTest 
{
public:
    virtual ~ClassTest(){}

    virtual int someFunction () = 0;
};

我对这个很难过;有任何想法吗?

其他信息:我使用的是Windows 7 x86,最新的Android Studio,并在三星Galaxy S5上进行测试。

另请注意,我知道,并且引起了我的注意,基本上我应该使用PDO进行数据库访问,并且我应该采取额外的措施来防止MySQL注入漏洞代码充满了代码。我想向您保证,我打算在解决此处讨论的核心问题时这样做。

2 个答案:

答案 0 :(得分:1)

好,

所以我不太确定这个解决方案有多好,但无论如何,它确实完成了我要实现的目标。我能够使用以下代码成功地将PHP GET请求发送到.php文件:

public class phpGET extends AsyncTask<Void, Void, Void> {
        protected Void doInBackground(Void... params) {

            try {

                URL url = new URL("http://www.domain.com/example.php?auth=David+Cameron");
                URLConnection conn = url.openConnection();
                InputStream is = conn.getInputStream();
                is.close();

            } catch (Exception e) {

                Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();

            }

            return null;
        }
    }

答案 1 :(得分:0)

替换

private static final String LIST_SEPARATOR = "__,__";

public static String convertListToString(List<String> stringList) {
    StringBuilder stringBuilder = new StringBuffer();
    for (String str : stringList) {
        stringBuilder.append(str).append(LIST_SEPARATOR);
    }

    // Remove last separator
    stringBuilder.setLength(stringBuilder.length() - LIST_SEPARATOR.length());

    return stringBuilder.toString();
}

public static List<String> convertStringToList(String str) {
    return Arrays.asList(str.split(LIST_SEPARATOR));
}

 URL url = new URL("http://domain.com/example.php?auth=David+Cameron");
 URLConnection connection = url.openConnection();
 connection.connect();