#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