Bonjour,
Je suis un cours sur le développement web avec JAVA, et je rencontre un problème malgré que j'ai bine suivi tout les étapes du cours.
J’essaye de me connecter au serveur de Wikipédia, lui lancer une requête et afficher la page sur une fenêtre (browser).
Pourtant y a qu'une écriture bizarre qui s'affiche...
J'utilise l'objet Socket pour faire la connexion, j'ai testé avec l'objet HttpURLConnection, ça marche très bien, mais avec l'objet Socket pas du tout...
Voici le code et une capture d'écran du résultat.
Merci d'avance
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; public class CommunicationClientServeurSocket { public static void main(String[] args) { Socket connecteur = null; try{ connecteur = new Socket("fr.wikipedia.org",80); // On envoie une requete au serveur String requete = ""; requete += "GET /wiki/Digital_Learning HTTP/1.1\r\n"; requete += "Host: fr.wikipedia.org\r\n"; requete += "\r\n"; BufferedOutputStream ecrivain = new BufferedOutputStream(connecteur.getOutputStream()); ecrivain.write(requete.getBytes()); ecrivain.flush(); // On récupere la reponse du serveur BufferedInputStream lecteur = new BufferedInputStream(connecteur.getInputStream()); int i; String contenu = ""; byte[] flux = new byte[1];// on lit 1ko à chaque fois while((i = lecteur.read(flux)) != -1){ contenu += new String(flux,0,i); } Browser b = new Browser("fr.wikipedia.org",contenu); } catch(UnknownHostException exp){ System.out.println("Host incnnu"); } catch(IOException exp){ exp.printStackTrace(); } if(connecteur != null){ try{ connecteur.close(); } catch(IOException exp){ exp.printStackTrace(); connecteur = null; } } } }
Partager