[HTTP] Requête Get et récupération de la réponse
Bonjour,
Je cherche à faire une petite procédure qui envoie une requête GET à un serveur connaissant son nom et son port et en récupérer la réponse. Je ne veux pas afficher la page, juste récupérer l'état de la réponse (Ex: 200 si tout est OK). J'ai déjà réussi à mettre en place des protcoles SMTP, POP et je pensais que celà fonctionnerait à peu près de la même manière.
La connexion avec le serveur a l'air de s'effectuer (pas de déclenchement d'exception) cependant je n'ai pas de réponse de celui-ci.
1ère Question: est-ce qu'au moment de la connexion au serveur HTTP, celui-ci me renvoie un acquittement (ex:vous êtes connecté) (avant l'envoi de la requête bien sûr)
2ème question : qu'est-ce qui n'irait pas dans mon code qui suit ?
(A l'affichage : strBuf = null)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
public void verifGet() {
Socket socketServer;
/** permet de créer un flux de sortie sur la socket vers le serveur */
DataOutputStream dos;
/** permet de lire sur la socket les messages provenant du serveur */
BufferedReader br;
/** permet d'écrire sur le flux de sortie donc d'envoyer des messages au serveur */
PrintStream ps;
try {
socketServer = new Socket(hostname,8080);
dos = new DataOutputStream(((Socket) socketServer).getOutputStream());
br = new BufferedReader(new InputStreamReader(socketServer.getInputStream()));
ps = new PrintStream(dos);
/** strBuf reçoit les réponses du serveur */
String strBuf = null;
strBuf = br.readLine();
ps.print("GET http://<a href="http://www.developpez.com" target="_blank">www.developpez.com</a> HTTP/1.0\n");
ps.print("\n");
strBuf = br.readLine();
System.out.println("strBuf "+strBuf);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} |