Android HttpURLConnection POST给出了HTTP错误411

时间:2012-12-06 07:22:11

标签: android android-emulator android-networking

我遇到POST请求以及在模拟器上运行时遇到问题。

设备问题: 发送POST请求时,我收到411错误(需要Content-Length)。添加该请求属性没有帮助。

模拟器问题: 当键入REST URL到Web客户端时,它可以工作。但是当使用应用程序客户端运行它时,我得到了UnkownHostExpection。

到目前为止,我无法解决我的问题,所以我希望你能指出一些解决这些问题的技巧。

感谢。

以下是相关代码:

    URL url = new URL("http://etc..");

    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

    conn.addRequestProperty("Accept", "application/json");
    conn.addRequestProperty("Content-Type", "application/json");
    conn.setRequestProperty("Accept-Charset", CHARSET_UTF8);

    conn.setRequestMethod("POST");
    conn.setDoOutput(true);
    conn.setChunkedStreamingMode(0);
    conn.getOutputStream().write(myPostParams.getBytes(CHARSET_UTF8));

    conn.connect();

2 个答案:

答案 0 :(得分:1)

您是否尝试过设置使用setFixedLengthStreamingMode()而不是setChunkedStreamingMode(0)?

答案 1 :(得分:0)

这个“ setFixedLengthStreamingMode()”对我有用