Httpclient - Definindo um tempo limite de soquete "global" e um tempo limite separado por solicitação

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

  •  25-09-2019
  •  | 
  •  

Pergunta

Com o httpclient, estou definindo o tempo limite de soquete/conexão padrão com o seguinte:

HttpParams params = new BasicHttpParams();

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

mClient = new DefaultHttpClient(connectionManager, params);

Gostaria de saber se posso substituir esses valores por solicitação?

EDIT: Isso funcionaria?

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

Eu tentei, e parece, mas é difícil testar/criar uma situação em que ocorra um tempo limite.

Foi útil?

Solução

Se você estiver usando o httpclient 4.0, poderá fazer isso:

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

Outras dicas

Você pode simplesmente definir esses parâmetros no objeto de solicitação. Para detalhes, consulte:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e391

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top