HttpClient Timeout

July 26, 2013

By default, HttpClient doesn't have a socket timeout. I've encountered a situation where the server didn't respond at all, and the HttpClient just sat there until it was restarted.

Version 3

To add a timeout to Http Client version 3:

HttpClient lClient = new HttpClient(); int lTimeoutMilliseconds = 10 * 1000); lClient.getParams().setParameter("http.socket.timeout", new Integer(lTimeoutMilliseconds)); lClient.getParams().setParameter("http.connection.timeout", new Integer(lTimeoutMilliseconds)); lClient.getParams().setSoTimeout(lTimeoutMilliseconds); 

Version 4

To add a timeout to Http Client version 4:

HttpClient lClient = new HttpClient(); HttpParams lParams = lClient.getParams(); int lTimeoutMilliseconds = 10 * 1000); HttpConnectionParams.setConnectionTimeout(lParams, lTimeoutMilliseconds); HttpConnectionParams.setSoTimeout(lParams, lTimeoutMilliseconds);