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 : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
Partager