title: HttpsURLConnection stalling out when getInputStream() is called
body: <p>[Java 1.5; Eclipse Galileo]</p>
  
  <p>HttpsURLConnection seems to stall when the getInputStream() method is called. I've tried using different websites to no avail (currently <a href="https://www.google.com" rel="noreferrer">https://www.google.com</a>). I should point out I'm using http<b>S</b>.</p>
  
  <p>The code below has been modified based on what I've learned from other StackOverflow answers. However, no solutions I've tried thus far have worked.</p>
  
  <p>I'd be very grateful for a nudge in the right direction :)</p>
  
  <pre><code>public static void request( URL url, String query ) 
  {
  try{
  
      HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
  
      //connection.setReadTimeout( 5000 ); //&lt;-- uncommenting this line at least allows a timeout error to be thrown
  
      connection.setDoInput(true); 
      connection.setDoOutput(true);
      connection.setUseCaches(false);  
      System.setProperty("http.keepAlive", "false");
  
  
      connection.setRequestMethod( "POST" );
  
  
      // setting headers
      connection.setRequestProperty("Content-length",String.valueOf (query.length()));
      connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); //WAS application/x-www- form-urlencoded
      connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");
  
      ////////////////////////////////////////////////////////////////////////////////////
      ////////////////////////////////////////////////////////////////////////////////////
      System.out.println( "THIS line stalls" + connection.getInputStream() );
      ////////////////////////////////////////////////////////////////////////////////////
  
  }catch( Exception e ) {
      System.out.println( e ); 
      e.printStackTrace(); 
  }
  </code></pre>
  
  <p>Typical errors look like:</p>
  
  <pre><code>java.net.SocketTimeoutException: Read timed out
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.read(SocketInputStream.java:129)
  at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
  at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:782)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:739)
  at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
  at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
  at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
  at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
  at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:681)
  at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626)
  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:983)
  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
  at https_understanding.HTTPSRequest.request(HTTPSRequest.java:60)
  at https_understanding.Main.main(Main.java:17)
  </code></pre>