0
我無法使用Java請求POST服務。當我在終端上使用捲曲它的工作原理:HTTP響應碼:400的URL?
curl -i -H "Content-Type: application/json" -X POST -d '{"blackoutDate":"2016/05/03", "blackoutTime":"18:45:36"}' http://poweranalyzer-skyglover.rhcloud.com/blackouts/
然而,在我的java程序不工作:
String uri = "http://poweranalyzer-skyglover.rhcloud.com/blackouts/";
URL url = new URL(uri);
StringBuffer params = new StringBuffer("");
params.append("blackoutDate=" + URLEncoder.encode("2016/05/03", "UTF-8"));
params.append("blackoutTime=" + URLEncoder.encode("18:45:36", "UTF-8"));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", String.valueOf(params.toString().length()));
connection.connect();
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(params.toString());
writer.flush();
InputStream inputStream;
if (connection.getResponseCode() == 201) {
inputStream = connection.getInputStream();
} else {
inputStream = connection.getErrorStream();
}
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = rd.readLine()) != null)
{
System.out.println("-----" + line);
}
writer.close();
rd.close();
connection.disconnect();
我越來越:
----- ----- 400錯誤請求 -----
錯誤的請求
-----瀏覽器(或代理服務器)發送請求,表明此服務器共享我不明白。