Android HttpClient no utiliza configuración de proxy del sistema

Cuando creo un objeto DefaultHttpClient e intento pegar una página web, la solicitud no se enruta a través del proxy que especificé en Configuración.

Mirando a través de los documentos de la API, no veo dondequiera que pueda especificar un proxy aunque Android tiene una clase Proxy que me permite leer la configuración del proxy del sistema.

¿Hay una manera que puedo utilizar la configuración de proxy en un HttpClient?

4 Solutions collect form web for “Android HttpClient no utiliza configuración de proxy del sistema”

Tratar:

 DefaultHttpClient httpclient = new DefaultHttpClient(); HttpHost proxy = new HttpHost("someproxy", 8080); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); 

(Eliminado de aquí )

En primer lugar, me aseguraría de que la solicitud se adhiera a las propiedades de configuración de proxy establecidas en la configuración del dispositivo Android. Puede determinar esto a través del código mirando la clase System en android.provider.Settings;

Para identificar si el usuario tenía una configuración de proxy del sistema, puede hacer lo siguiente:

  System.getProperty("http.proxyHost"); System.getProperty("http.proxyPort"); System.getProperty("https.proxyHost"); System.getProperty("https.proxyPort"); 

Si tiene una instancia de DefaultHTTPClient, puede comprobar si también tiene la configuración de proxy relevante.

  DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().getParameter(ConnRoutePNames.DEFAULT_PROXY); 

Estas son todas las maneras de 'obtener' la configuración del proxy, y los métodos 'set' se implementan de la misma manera, ya sea a través de System.setProperty o httpclient.setParams.

Espero que esto ayudó!

Estoy desarrollando la Biblioteca de Proxy de Android que intenta abstraer el acceso a la configuración de proxy para cada versión de Android. Puede obtener fácilmente los ajustes de proxy seleccionados actualmente por el usuario.

Tratar :

 System.setProperty("http.proxyHost", <your proxy host name>); System.setProperty("http.proxyPort", <your proxy port>); 

o

 DefaultHttpClient httpclient = new DefaultHttpClient(); HttpHost httpproxy = new HttpHost("<your proxy host>",<your proxy port>); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpproxy); 

o

 HttpHost proxy = new HttpHost("ip address",port number); DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy); HttpPost httpost = new HttpPost(url); List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("param name", param)); httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.ISO_8859_1)); HttpResponse response = httpclient.execute(httpost); HttpEntity entity = response.getEntity(); System.out.println("Request Handled?: " + response.getStatusLine()); InputStream in = entity.getContent(); httpclient.getConnectionManager().shutdown(); 
  • Configuración de SDK de Android con ubuntu
  • Fuerza HttpURLConnection para utilizar la red móvil y de retorno a WiFi
  • Establecer proxy WiFi sin rooting teléfono
  • XMPP FileTransfer - ¿Por qué falla el protocolo bytestreams?
  • Force Gradle para usar HTTP en lugar de HTTPS
  • Configuraciones del proxy del SDK de Android SDK en LINUX
  • ¿Cómo enrutar todo el tráfico procedente del anclaje?
  • Recursos de documentación confusos de proxy de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.