HttpClient - establecer un tiempo de espera de la toma “global”, y un tiempo de espera separada por solicitud

StackOverflow https://stackoverflow.com/questions/3003235

  •  25-09-2019
  •  | 
  •  

Pregunta

Con HttpClient, me he fijado el tiempo de espera por defecto socket / relación con lo siguiente:

HttpParams params = new BasicHttpParams();

HttpConnectionParams.setSoTimeout(params, 30000);
HttpConnectionParams.setConnectionTimeout(params, 30000);

mClient = new DefaultHttpClient(connectionManager, params);

Me pregunto si puedo anular estos valores en función de cada petición?

Editar:? Que este trabajo

HttpParams params = req.getParams(); // req is an HttpRequest object
HttpConnectionParams.setSoTimeout(params, 60000);
HttpConnectionParams.setConnectionTimeout(params, 60000);

Me lo intentó, y parece, pero es difícil de prueba / crear una situación en la que se producirá un tiempo de espera.

¿Fue útil?

Solución

Si está utilizando HttpClient 4.0 usted puede hacer esto:

mClient = new DefaultHttpClient(connectionManager, params) {
  protected HttpParams determineParams(HttpRequest req) {
    //Fill in your impl here
 }

Otros consejos

Usted simplemente puede establecer esos parámetros en el objeto de solicitud. Para más detalles ver: http://hc.apache.org/httpcomponents- cliente-ga / tutorial / html / connmgmt.html # d4e391

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top