Java GET 请求 PHP URL 未发送

标签 java php android mysql

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

www.domain.com/example.php

这是 PHP 脚本:

<?php

include "dbcredentials.php";

$query = "INSERT INTO accesscode (id) VALUES ('" . $_GET['auth'] . "')";

$result = mysql_query($query) or die(mysql_error());  // Check if query was successful

print ($_GET['auth']);

?>

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

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

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

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;
}

}

现在只是为了确认一下,上面的代码没有捕获错误。但由于某种原因,它一定无法将 GET 请求( http://domain.com/example.php?auth=David+Cameron )发送到 php 文件,因为调用函数后 David Cameron 没有添加到数据库中,如下所示有意为之。

我确认我拥有以下 Android list 权限:

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

我对这个很困惑;有任何想法吗?

其他信息:我正在使用 Windows 7 x86、最新的 Android Studio 并在 Samsung Galaxy S5 上进行测试。

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

最佳答案

好的,

所以我不太确定这个解决方案有多好,但无论如何,它确实达到了我想要实现的目标。我能够使用以下命令成功地将 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;
        }
    }

关于Java GET 请求 PHP URL 未发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989117/

相关文章:

android - localeAwareCompare 的不同结果

java - 无法使用 Java 和 Apache POI 写入 Excel 文件

java - 怀疑使用java获取昨天的日期

java - 调用 setSupportActionBar 后 setBackgroundDrawable 出现 NullPointerException

php - PHP 中的套接字标签?

php - 如何让我的移动网站绕过移动重定向?

java - 将对象转换为java中的接口(interface)?

php - 使用 PHP + MySQL 的最佳开发设置是什么?

Android:所有设备上同一用户的唯一ID

android - 处理 R 到 L 语言的水平 ScrollView