gpt4 book ai didi

Java GET 请求 PHP URL 未发送

转载 作者:行者123 更新时间:2023-11-29 12:09:08 25 4
gpt4 key购买 nike

我正在尝试让我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com