Question

Je suis en train d'utiliser la dernière (4.0.1) bibliothèque Apache composants de base http. Cependant, mon navigateur Web passe par un proxy - supposons qu'il est myproxy.com:9191. Quelqu'un pourrait-il fournir un exemple de code pour obtenir d'un simple http obtenir de l'utiliser comme un proxy?

Je l'ai essayé d'ajouter ce qui suit au début de mon code, mais n'a pas eu la joie:

ProxySelector.setDefault(new ProxySelector() {
  public List<Proxy> select(URI uri) {
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("myproxy.com", 9191);
    return Arrays.asList(new Proxy[]{proxy)});
  }
  public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
    ioe.printStackTrace();
  }
});
Était-ce utile?

La solution

En l'absence d'une réponse, voici ce que je l'ai découvert.

Tout d'abord, pour ce genre de chose, vous ne voulez pas seulement d'utiliser la bibliothèque de base de http, vous voulez utiliser httpclient ainsi, assurez-vous de télécharger à la fois sur la page de téléchargement.

En second lieu, utilisez ce code:

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("myproxy.com", 9191);
httpclient.getCredentialsProvider().setCredentials(
  new AuthScope(PROXY, PROXY_PORT),
  new UsernamePasswordCredentials("username", "password"));
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top