partie 2 exo 3 fini
ok
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package fr.istic.pr.ping;
|
package fr.istic.pr.ping;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.*;
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
@@ -24,28 +23,42 @@ public class HttpPing {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PingInfo ping(String host, int port) throws UnknownHostException, IOException {
|
public static PingInfo ping(String host, int port) throws UnknownHostException, IOException, InterruptedException {
|
||||||
PingInfo info = new PingInfo();
|
PingInfo info = new PingInfo();
|
||||||
|
|
||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
|
|
||||||
Socket socket = new Socket(host, port);
|
Socket socket = new Socket(host, port);
|
||||||
PrintWriter out = new ...
|
|
||||||
// UTILISER PrintWriter et BufferedReader
|
// UTILISER PrintWriter et BufferedReader
|
||||||
|
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
|
||||||
/// Envoyer l'entête
|
/// Envoyer l'entête
|
||||||
|
//https://stackoverflow.com/questions/9405620/send-http-header-for-identification
|
||||||
|
out.println("GET / HTTP/1.1");
|
||||||
// Penser à préciser l'Host dans l'en-tête
|
// Penser à préciser l'Host dans l'en-tête
|
||||||
|
out.println("Host: " + host);
|
||||||
// L'en-tête doit également contenir :
|
// L'en-tête doit également contenir :
|
||||||
out.println("Connection: close"); //demande au site de fermer la connexion après la réponse.
|
out.println("Connection: close"); //demande au site de fermer la connexion après la réponse.
|
||||||
// et se terminier par l'envoie d'une ligne vide sans espace
|
// et se terminier par l'envoie d'une ligne vide sans espace
|
||||||
|
out.println();
|
||||||
|
out.flush();
|
||||||
// LECTURE DE LA REPONSE
|
// LECTURE DE LA REPONSE
|
||||||
|
String line;
|
||||||
|
while ((line=in.readLine()) != null) {
|
||||||
|
String[] ligne =line.split(" ");
|
||||||
|
if (ligne[0].equals("HTTP/1.1")){
|
||||||
|
info.code=Integer.parseInt(ligne[1]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//info.code = utiliser split sur la première ligne pour parser le code
|
//info.code = utiliser split sur la première ligne pour parser le code
|
||||||
|
|
||||||
//AFFICHAGE DE LA PAGE
|
//AFFICHAGE DE LA PAGE
|
||||||
|
System.out.println(line); //1ère ligne
|
||||||
|
while ((line=in.readLine()) != null) {
|
||||||
|
System.out.println(line);
|
||||||
|
}
|
||||||
|
|
||||||
info.time = System.currentTimeMillis() - time;
|
info.time = System.currentTimeMillis() - time;
|
||||||
return info;
|
return info;
|
||||||
|
|||||||
Reference in New Issue
Block a user