0

在模拟器上工作,但是当我尝试使用 HTC Sense 时,此代码的最后一行出现异常

url = new URL(urlString);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", 
                "application/json; charset=utf-8");

//Send request
Gson requestGson = new Gson();          
OutputStream wr = connection.getOutputStream();

例外是 java.net.ProtocolException: 不支持 connection.getOutputStream() 的输出;

我正在测试 API 10,HTC Sense 上的 Gingerbread(远程调试)。

有人遇到过这个问题吗?

谢谢。大卫。

4

1 回答 1

1

尝试调用setDoOutput(true). POST 请求需要它。您的代码的第一部分将更改为如下所示:

connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", 
            "application/json; charset=utf-8");
connection.setDoOutput(true);

来源:https ://groups.google.com/forum/?fromgroups=#!topic/android-developers/2aEYpsZEMvs

另请参阅另一个 StackOverflow 答案:URLConnection.setDoOutput() 到底有什么影响?

于 2012-10-22T03:33:17.510 回答