我试图让我的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注入漏洞代码充满了代码。我想向您保证,我打算在解决此处讨论的核心问题时这样做。
答案 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();