HttpClient - la fixation d'un délai d'attente de prise « globale », et un délai d'attente séparé par demande
-
25-09-2019 - |
Question
Avec HttpClient, je suis en train de la prise par défaut / délai de connexion avec les éléments suivants:
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, 30000);
HttpConnectionParams.setConnectionTimeout(params, 30000);
mClient = new DefaultHttpClient(connectionManager, params);
Je me demande si je peux remplacer ces valeurs sur une base de demande?
Edit:? Est-ce que ce travail
HttpParams params = req.getParams(); // req is an HttpRequest object
HttpConnectionParams.setSoTimeout(params, 60000);
HttpConnectionParams.setConnectionTimeout(params, 60000);
Je l'ai essayé, et il semble, mais il est difficile de tester / créer une situation où un délai d'attente se produit.
La solution
Si vous utilisez HttpClient 4.0, vous pouvez faire ceci:
mClient = new DefaultHttpClient(connectionManager, params) {
protected HttpParams determineParams(HttpRequest req) {
//Fill in your impl here
}
Autres conseils
Vous pouvez simplement définir ces paramètres sur l'objet de la demande. Pour plus de détails voir: http://hc.apache.org/httpcomponents- client-ga / tutorial / html / connmgmt.html # d4e391
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow