java - android - HttpUrlConnection 不起作用

标签 java php android

所以!我和我的 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/

相关文章:

java - Android Studio 3.0 Gradle同步失败,返回Google App Engine错误

java - While 循环建议?

php - Count Doctrine 的 iterate() Collection Result

php - 在搜索引擎上索引多语言网站

android - 截取整个 ListView 的屏幕截图,即使整个 ListView 元素在屏幕上不完全可见

java - 写入文件中的特定行,不带任何数据格式

java - 附加图像时 TextView 的资源 ID 错误

php - SimpleXMLElement、xpath 和子元素

java - Android注释处理-为不同的构建风格生成不同的代码

java - 如何使用整数验证编辑文本的输入