HttpClient - la fixation d'un délai d'attente de prise « globale », et un délai d'attente séparé par demande

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

  •  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.

Était-ce utile?

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
scroll top