Httpclient - ein „globales“ Socket-Timeout einstellen, und eine separate Timeout pro Anfrage

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

  •  25-09-2019
  •  | 
  •  

Frage

Mit Httpclient, ich bin das Standard-Buchse / Verbindungs-Timeout mit folgenden Einstellung:

HttpParams params = new BasicHttpParams();

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

mClient = new DefaultHttpClient(connectionManager, params);

Ich frage mich, ob ich diese Werte auf einer pro Anfrage und außer Kraft setzen können?

Edit: Würde diese Arbeit

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

Ich versuchte es, und es scheint, aber es ist schwer zu Test / erstellen Sie eine Situation, in der ein Timeout auftreten wird.

War es hilfreich?

Lösung

Wenn Sie mit Httpclient 4.0 Sie können dies tun:

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

Andere Tipps

Sie können einfach diese Parameter auf dem Request-Objekt festgelegt. Weitere Einzelheiten finden Sie unter: http://hc.apache.org/httpcomponents- Client-ga / tutorial / html / connmgmt.html # d4e391

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top