HttpClient - establecer un tiempo de espera de la toma “global”, y un tiempo de espera separada por solicitud
-
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.
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