Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/06/2007, à 13:18

dialloma

Problème avec HttpClient de Apache ! Help please !

Bonjour à tous

Toujours dans mon avanture d'accès à des webServices. J'ai essayé d'exécuter le code qui suit sur ma machine mais je ne vois pourquoi ça ne marche pas.

import java.io.IOException;
import java.util.Properties;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class TestHttpClient {

	/**
	 * @param args
	 */
	 private static String url = "http://www.apache.org/";
	public static void main(String[] args) {
		
		
//		 Create an instance of HttpClient.
	    HttpClient client = new HttpClient();
		
	    // Create a method instance.
	    GetMethod method = new GetMethod(url);
	    
	    // Provide custom retry handler is necessary
	    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, 
	    		new DefaultHttpMethodRetryHandler(3, false));

	    try {
	      // Execute the method.
	      int statusCode = client.executeMethod(method);

	      if (statusCode != HttpStatus.SC_OK) {
	        System.err.println("Method failed: " + method.getStatusLine());
	      }

	      // Read the response body.
	      byte[] responseBody = method.getResponseBody();

	      // Deal with the response.
	      // Use caution: ensure correct character encoding and is not binary data
	      System.out.println(new String(responseBody));

	    } catch (HttpException e) {
	      System.err.println("Fatal protocol violation: " + e.getMessage());
	      e.printStackTrace();
	    } catch (IOException e) {
	      System.err.println("Fatal transport error: " + e.getMessage());
	      e.printStackTrace();
	    } finally {
	      // Release the connection.
	      method.releaseConnection();
	    }  
	  }
}

Pourriez vous s'il vous plait le tester chez vous pour voir si c'est moi qui fais mal les choses ? N'oubliez pas d'inclure les librairies de HttpClient et ses dépendances dans votre classpath. On peut les downloader ici http://jakarta.apache.org/commons/httpc … ncies.html

Je précise qu'il y a un proxy à mon entreprise pour se connecter sur internet. Donc j'ai fait 2 manips l'une après l'autre pour ça.
- Dans eclipse : clique droit sur la classe ->puis run -> Arguments -> VM et là on ajoute les lignes suivantes :
-Dhttp.proxyHost=le_proxy
-Dhttp.proxyPort=le_port

- J'ai aussi essayé de mettre ces quelques lignes dans mon code java

Properties props = System.getProperties();
props.setProperty("http.proxyHost", "proxy.mondomaine.com");
props.setProperty("http.proxyPort", "3128"); // Par défaut 80
System.setProperties(systemSettings);

// Pour s'authentifier auprès du proxy
System.setProperty ("http.proxyUserName", nom_utilisateur);
System.setProperty ("http.proxyPassword", mot_de_passe);

Je ne sais pas où ça cloche, pourtant je ne crois pas que ça soit compliqué. Je compte sur vous pour m'aider.

Merci d'avance et bonne journée

Hors ligne