Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Accès au body d'un message HTTP hors code 200

1 réponse
Avatar
Fabien
Bonjour,

J'essaie d'acc=E9der au body d'un message HTTP, m=EAme lorsque le code
n'est pas 200.
Hors, le code suivant :

public String getContent(String strUrl) {
StringBuffer content =3D new StringBuffer();
try {
URL url =3D new URL(strUrl);
HttpURLConnection con =3D (HttpURLConnection)url.openConnection();
con.setAllowUserInteraction(true);
con.setDoInput(false);
con.setDoOutput(false);
con.setUseCaches(false);
BufferedReader in =3D new BufferedReader(new
InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine =3D in.readLine()) !=3D null) {
content.append(inputLine);
content.append('\n');
}
in.close();
} catch (IOException e) {
ByteArrayOutputStream out =3D new ByteArrayOutputStream();
PrintWriter writer =3D new PrintWriter(out);
e.printStackTrace(writer);
writer.close();
return new String(out.toByteArray());
}
return content.toString();
}

pete une exception sur le getInputStream() sans lire le body du
message HTTP (qui par ailleurs est bien transmis d'apres le sniffer).
Le debut de l'exception :
java.io.IOException: Server returned HTTP response code: 500 for URL:
http://urldelamachine/appli
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at
com.airbus.security.connection.StdURLContentGetter.getContent(StdURLContent=
Getter.java:
31)
at com.airbus.security.sm.gui.SMPanel.go(SMPanel.java:113)

Savez-vous comment r=E9cup=E9rer le body du message HTTP ?
Merci

1 réponse

Avatar
TestMan
Bonjour,

J'essaie d'accéder au body d'un message HTTP, même lorsque le code
n'est pas 200.
Hors, le code suivant :

public String getContent(String strUrl) {
StringBuffer content = new StringBuffer();
try {
URL url = new URL(strUrl);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setAllowUserInteraction(true);
con.setDoInput(false);
con.setDoOutput(false);
con.setUseCaches(false);
BufferedReader in = new BufferedReader(new
InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
content.append('n');
}
in.close();
} catch (IOException e) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintWriter writer = new PrintWriter(out);
e.printStackTrace(writer);
writer.close();
return new String(out.toByteArray());
}
return content.toString();
}

pete une exception sur le getInputStream() sans lire le body du
message HTTP (qui par ailleurs est bien transmis d'apres le sniffer).
Le debut de l'exception :
java.io.IOException: Server returned HTTP response code: 500 for URL:
http://urldelamachine/appli
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at
com.airbus.security.connection.StdURLContentGetter.getContent(StdURLContentGetter.java:
31)
at com.airbus.security.sm.gui.SMPanel.go(SMPanel.java:113)

Savez-vous comment récupérer le body du message HTTP ?
Merci



Bonjour,

Si choisit de ne pas avoir de sortie ni d'entrée dessus une connexion
(cf. setDoInput/setDoOutput à faux), je m'attends pas à en avoir ;-)

A+
TM