[Servlet]Récupérer une entete HTTP via un servlet
Je veux mettre en place une petite servlet qui fait une requete GET vers une page quelconque pour en afficher l'entete HTTP, je lance cette servlet depuis mon brouteur, ça mayonne 40 secondes et je vais direct dans mon terminé.
Si je contourne le probleme en me servant d'un pbjet URL, j'obtiens mon entete, mais mon but c'est vraiment d'y arriver avec Socket...
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 32 33 34 35
|
protected void doGet(HttpServletRequest Requete, HttpServletResponse Response) throws ServletException, IOException
{
ServletOutputStream out = Response.getOutputStream();
String line;
String Host = "xxxxx.free.fr";
InetAddress Adresse = InetAddress.getByName(Host);
try
{
MySocket = new Socket(Host, 80);
} catch (UnknownHostException e)
{
out.println ("Serveur inconnu : " + Adresse.toString());
} catch (IOException e)
{
out.println ("Erreur de connexion au " + Adresse.toString()) ;
}
MyQuery = "GET xxxxx.htm HTTP/1.0\r\n";
PrintWriter out2 = new PrintWriter(new OutputStreamWriter(MySocket.getOutputStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(MySocket.getInputStream()));
out2.print(MyQuery);
while((line = in.readLine()) != null)
{
out2.println(line);
}
//out2.flush();
out.println("Terminé pour "+ Adresse.toString());
//out.flush();
} |
Où est l'erreur ? D'avance merci de votre aide ! J'avoue que je suis assez étonné de voir ma servlet coincée dans son try pendant 30 à 40 secondes alors que ça devrait en prendre une maxi !
[Modéré par Didier] : ajout de tag dans le titre + ajout de balises code pour la lisibilité - Les règles du forum Java