IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Gérer erreur innatendue


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 22
    Par défaut Gérer erreur innatendue
    Bonjour !

    Je me suis créé une petite fonction permettant de faire une requete GET sur un site.
    Normalement c'est une fonction assez simple y'a rien de vraiment spécial.

    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
    public static String doget(HttpClient httpclient, String url)
    {	
    	httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
    	httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,10000);
     
    	HttpGet httpget = new HttpGet(url);
    	StringBuilder source = new StringBuilder();
    	String resa = null;
     
    	try
    	{ 
    		HttpResponse response=httpclient.execute(httpget);
    		BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
     
    		long ms = System.currentTimeMillis();
    		boolean timeout_over = false;
    		String line;
     
    		while ((line = reader.readLine()) != null && !timeout_over) 
    		{
    			source.append(line+"\r\n");
    			if(System.currentTimeMillis()-ms>10000)
    			{ timeout_over = true; }
    		}
     
    		if(timeout_over)
        		{ resa = "Erreur"; }
        		else
        		{ resa = source.toString().trim(); }
     
    	}
    	catch(Exception e)
    	{ 
    		resa = "Erreur";
    	}
     
    	return resa;
    }
    Sur 95% des sites cela fonctionne très bien, mais parfois j'obtiens de grosses erreurs rouges...
    25 févr. 2013 22:22:54 org.apache.http.client.protocol.ResponseProcessCookies processCookies
    ATTENTION: Cookie rejected: "[version: 0][name: wordpress_ac36841e57e4b13adbe1470e9299586e][value: %7C1363036975%7C57db162aa45f719b5cc0bc4f4c535a51][domain: rozven.com][path: /wp-content/plugins][expiry: Mon Mar 11 22:22:55 CET 2013]". Illegal path attribute "/wp-content/plugins". Path of origin: "/livre-dor/"
    25 févr. 2013 22:22:54 org.apache.http.client.protocol.ResponseProcessCookies processCookies
    ATTENTION: Cookie rejected: "[version: 0][name: wordpress_ac36841e57e4b13adbe1470e9299586e][value: %7C1363036975%7C57db162aa45f719b5cc0bc4f4c535a51][domain: rozven.com][path: /wp-admin][expiry: Mon Mar 11 22:22:55 CET 2013]". Illegal path attribute "/wp-admin". Path of origin: "/livre-dor/"
    J'ai aussi parfois un erreur du type :
    [...] caught when processing request: Connection reset
    Il me semble avoir vu que celle-ci était liée au fait que la connexion était coupée par le timeout.

    Je me doute qu'il n'est pas possible de résoudre ces erreurs puisque c'est probablement à cause du site mais je voudrai tout simplement afficher un message d'erreur personnalisé.

    Comment puis-je faire ?

    Merci d'avance !

    Cordialement.

  2. #2
    Membre expérimenté Avatar de hbennou
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 162
    Par défaut
    Bonjour,

    Essaie d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY,
            CookiePolicy.BROWSER_COMPATIBILITY);
    Pour plus de détails voici un lien qui pourrait t'etre utile http://hc.apache.org/httpcomponents-...statemgmt.html

Discussions similaires

  1. Comment gérer Erreur 404 ?
    Par jlb59 dans le forum Apache
    Réponses: 3
    Dernier message: 08/03/2010, 18h40
  2. [CS4] Gérer erreur sur formulaire PHP
    Par Lionel_aw dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 01/11/2009, 17h41
  3. Réponses: 1
    Dernier message: 14/03/2009, 01h09
  4. [MySQL] Gérer erreur MySQL avec PHP
    Par saad.hessane dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/09/2008, 14h19
  5. gérer erreur base64
    Par romses2 dans le forum Général Python
    Réponses: 2
    Dernier message: 21/07/2007, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo