我想对我自己编写的HTTP Servlet发出POST请求.良好的情况(HTTP响应代码200)始终使用URL.openConnection()方法正常工作.但是当我收到所需的错误响应代码(例如400)时,我想我必须使用HttpUrlConnection.getErrorStream().但ErrorStream对象为null虽然我在错误情况下从servlet发回数据(我想评估此数据以生成错误消息).这就是我的代码:
HttpURLConnection con = null;
try {
//Generating request String
String request = "request="+URLEncoder.encode(xmlGenerator.getStringFromDocument(xmlGenerator.generateConnectRequest(1234)),"UTF-8");
//Receiving HttpUrlConnection (DoOutput = true; RequestMethod is set to "POST")
con = openConnection();
if (con != null){
PrintWriter pw = new PrintWriter(con.getOutputStream());
pw.println(request);
pw.flush();
pw.close();
InputStream errorstream = con.getErrorStream();
BufferedReader br = null;
if (errorstream == null){
InputStream inputstream = con.getInputStream();
br = new BufferedReader(new InputStreamReader(inputstream));
}else{
br = new BufferedReader(new InputStreamReader(errorstream));
}
String response = "";
String nachricht;
while ((nachricht = br.readLine()) != null){ …Run Code Online (Sandbox Code Playgroud)