【问题标题】:Android HttpUrlConnection does POST instead of GETAndroid HttpUrlConnection 做 POST 而不是 GET
【发布时间】:2014-01-11 06:21:51
【问题描述】:

我有一个 Android 应用程序尝试使用 HttpUrlConnection 向我的服务器发出 GET 请求。当我在单独的测试桌面应用程序中测试代码时,一切正常。但是,当我在我的 android 设备上运行它时,我的服务器会注册一个 POST 请求而不是 GET。

这是我的get 方法的代码:

public static String get(String url) throws IOException {
    HttpURLConnection conn = connFromUrlString(url);
    conn.setRequestMethod("GET");
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.connect();

    String out = IOUtils.toString(conn.getInputStream(), "UTF-8");
    conn.disconnect();
    return out;
}

【问题讨论】:

  • 注意:this 似乎是一个类似的问题,所以如果有人有答案,他们可能想去那里发帖或戳author(当我看到时我也会一个答案)。
  • conn.setDoOutput(true); GET 方法不需要。

标签: android http post get httpurlconnection


【解决方案1】:

这条线是罪魁祸首。

conn.setDoOutput(true);

删除它并尝试一下。

顺便说一句,你应该看看这篇精彩的文章:https://stackoverflow.com/a/2793153/415412

【讨论】:

  • 还要感谢最初提出这个建议的@Niko。
  • 答案是正确的,链接到其他 SO 帖子很有帮助 - 一切正常。但是@joshlf13,您可以考虑使用像DavidWebb 这样的库来获得更方便的方式来访问网络服务器(尤其是从Android 设备)。在那里您可以找到其他强大库(如 Volley)的链接。
  • 好的,谢谢。那些看起来很有趣;我去看看!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
相关资源
最近更新 更多