所以!我和我的 friend 决定学习一堆服务器+应用程序。现在他创建了这个页面来检查数据库的当前状态 - http://java.pareto-marketing.ru/showBD.php她现在是空的,“Json ответ”为空。他还在连接链接时创建了一个 php 脚本
http://java.pareto-marketing.ru/chat.php?action=insert&author=Barbara&client=Mike&text=Hello
向数据添加条目:作者 - Barbara、收件人 - Mike、文本 - Hello。我正在尝试使用 HttpUrlConnection 进行连接,这是我的代码...
try {
URL url = new URL("http://java.pareto-marketing/chat.php?action=insert&author=Barbara&client=Mike&text=Hello");
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
conn.connect();
int res = conn.getResponseCode();
Log.i("chat", "new message!" + res);
}
catch (Exception e) {
Log.i("chat", "foo" + e.getMessage());
}
finally {
conn.disconnect();
}
LogCat - I
Displayed ru.diskrim.connect/.MainActivity: +679ms
出了什么问题?
最佳答案
要使用post方法发送数据,首先需要setDoOutput(true)
。这意味着您想要发送请求正文。
接下来您必须使用DataOutputStream来控制输出。我们可以使用DataOutputStream对输出流进行多种操作。它还帮助我们将原始 Java 数据类型写入输出流。
JSONObject urlParameters = new JSONObject();
jsonParam.put("action", "insert");
jsonParam.put("author", "barbara");
jsonParam.put("client", "mike");
jsonParam.put("text", "hello");
//Send request
DataOutputStream wr = new DataOutputStream (
conn.getOutputStream ());
wr.writeBytes (URLEncoder.encode(urlParameters.toString(),"UTF-8");
wr.flush ();
wr.close ();
urlParameters 包含您的参数。
这样您就可以将发布数据发送到您的服务器。
关于java - android - HttpUrlConnection 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36539328/