title: What causes HttpHostConnectException?
body: <p>I have a  Auto Complete/type ahead feature on Search for my website. I see that some time  their is an exception associated with it. We are using a proxy server.</p>
  
  <pre><code>org.apache.http.conn.HttpHostConnectException: Connection to http://proxy.xyz.com:60 refused    
  
  at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:159)
  at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
  at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
  at com.xxx.dd.sone.integration.SearchDAO.getJSONData(SearchDAO.java:60)
  at com.xxx.dd.sone.integration.SearchDAO.searchAutoCompleteResults(SearchDAO.java:560)
  at com.xxx.dd.sone.presentation.util.SearchAutoCompleteUtil.doGet(SearchAutoCompleteUtil.java:26)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:845)
  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:236)
  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
  at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
  at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1512)
  at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
  at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:22)
  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:147)
  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:119)
  </code></pre>
  
  <p>Caused by: java.net.ConnectException: Connection refused</p>
  
  <p>Here is the how i have coded</p>
  
  <pre><code>public HashMap&lt;String, Object&gt; getJSONData(String url)throws Exception {
      DefaultHttpClient httpClient = new DefaultHttpClient();
      HttpParams params = httpClient.getParams();
      try {
          HttpConnectionParams.setConnectionTimeout(params, 10000);
          HttpConnectionParams.setSoTimeout(params, 10000);
      } catch (Exception e) {
          e.printStackTrace();
          throw e;
      }
      HttpHost proxy = new HttpHost(proxy.xyz.com, 60);
      ConnRouteParams.setDefaultProxy(params, proxy);
      URI uri;
      InputStream data = null;
          uri = new URI(url);
          HttpGet method = new HttpGet(uri);
          HttpResponse response=null;
          try {
          response = httpClient.execute(method);
          }catch(Exception e) {
              e.printStackTrace();
              throw e;
          }
          data = response.getEntity().getContent();
      Reader r = new InputStreamReader(data);
      HashMap&lt;String, Object&gt; jsonObj = (HashMap&lt;String, Object&gt;) GenericJSONUtil.fromJson(r);
      return jsonObj;
  }
  </code></pre>
  
  <p>Can any one tell me why i am getting this exception some time only? is this possible that this exception is caused when a search request is made from Android applications as our website don't support a request is being made from android applications</p>