Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1571 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Requete http qui prend plusieurs minutes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requete http qui prend plusieurs minutes

n°2178123
reywas
J'aime pas les citations
Posté le 01-03-2013 à 12:14:29  profilanswer
 

Bonjour,
 
N'ayant eu aucune réponse dans mon autre sujet, j'essaye de reformuler ma demande pour que ce soit plus clair.
 
J'essaye d'obtenir le code source de 3 pages différentes grace au code ci après.
Malheureusement, la seconde url est un PDF de 50Mo et la requète prend donc énormément de temps à s'exécuter.
Le but de ce topic : Essayer d'interrompre la lecture du pdf car c'est trop long et passer à l'url suivante. (donc la 3eme et dernière URL)
 

Code :
  1. public class MonProjet
  2. {
  3. private static HttpClient httpclient = new DefaultHttpClient();
  4. public static void main(String[] args)
  5. {
  6.  // Cette ligne s'execute sans souci.
  7.  String code1 = Http.doget(httpclient, "http://www.siteduzero.com/" );
  8.  // Ici j'essaye d'accéder à un PDF super gros. J'aimerai donc trouver un moyen d'arreter la lecture de delui-ci pour passer au site suivant.
  9.  String code2 = Http.doget(httpclient, "http://booksnow2.scholarsportal.info/ebooks/oca1/29/lapolicedesmurse02fiauuoft/lapolicedesmurse02fiauuoft.pdf" );
  10.  // Je n'arrive jamais à cette ligne car la lecture du PDF est trop longue, j'aimerai la stopper pour pouvoir avoir le code source de ce site.
  11.  String code3 = Http.doget(httpclient, "http://9gag.com/" );
  12. }
  13. }


 
Voici ma fonction doget (qui se trouve dans une classe nommée Http) :
 

Code :
  1. public static String doget(HttpClient httpclient, String url)
  2. {
  3. httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
  4. httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
  5. HttpGet httpget = new HttpGet(url);
  6. StringBuilder source = new StringBuilder();
  7. String resa = null;
  8. try
  9. {
  10.  HttpResponse response = httpclient.execute(httpget);
  11.  BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
  12.          String line;
  13.        
  14.  // Cette boucle s'éxecute pendant plusieurs minutes dans le cas où on essaye de lire le pdf
  15.  // C'est trop long, je souhaiterai la stopper si ça prend trop de temps.
  16.          while ((line = reader.readLine()) != null)
  17.  {
  18.   source.append(line+"\r\n" );
  19.  }
  20.  resa = source.toString().trim();
  21.        
  22. }
  23. catch(IOException ioe)
  24. {
  25.  resa = "Erreur";
  26.  System.out.println("IO exception" );
  27.  ioe.printStackTrace();
  28. }
  29. catch(Exception e)
  30. {
  31.  resa = "Erreur";
  32.  System.out.println("Exception" );
  33.  e.printStackTrace();
  34. }
  35. return resa;
  36. }


 
Vous l'avez sûrement compris, mon but est de trouver un moyen de stopper la lecture du PDF sans détruire ni déteriorer mon httpclient. En effet, si on détruit ou déteriore ce httpclient, je ne pourrai pas avoir le code de ma dernière URL...
 
Cela fait 3 jours que je bloque donc je vous en supplie si vous avez une idée, n'hésitez pas ! :)
 
Merci d'avance et bonne soirée ! :)

mood
Publicité
Posté le 01-03-2013 à 12:14:29  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Requete http qui prend plusieurs minutes

 

Sujets relatifs
Abandon de requete httpclientErreur sur un script PHP affichant plusieurs
requete SQL et variables[VBA] fonction paramétré renvoyant le résultat d'une requête ACCESS
[Access] Problème formulaire requêteRequete SqL
Proxy http(s) avec Java ?requete sql non envoyé au serveur
[SQL] Requete gestion stock ???Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi...
Plus de sujets relatifs à : Requete http qui prend plusieurs minutes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR