我正在运行以下Java,一个带有JSON数据的HttpURLConnection PUT请求,该请求将从Android设备发送。在这个工作之后我会处理任何引发的异常。 GET工作正常。
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(nameString, pwdString.toCharArray());
}
});
url = new URL(myURLString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setChunkedStreamingMode(0);
urlConnection.setRequestMethod("PUT");
urlConnection.setRequestProperty("Content-Type", "application/json");
OutputStream output = null;
try {
output = urlConnection.getOutputStream();
output.write(jsonArray.toString().getBytes());
} finally {
if (output != null) { output.close(); }
}
int status = ((HttpURLConnection) urlConnection).getResponseCode();
System.out.println("" + status);
urlConnection.disconnect();
我收到HTTP 500错误(内部错误代码),意外的属性阻止了请求。 JSONArray包含我知道的密钥正确的JSONObjects。服务器非常标准,并且期望HTTP PUT具有JSON主体。
我错过了什么吗?