code: public static InputStream getInputStreamHttp(URL pURL, int pTimeout) throws IOException {
          return getInputStreamHttp(pURL, null, true, pTimeout);
      }
docs: Gets the InputStream from a given URL, with the given timeout.
  The timeout must be > 0. A timeout of zero is interpreted as an
  infinite timeout.
  <P/>
  <SMALL>Implementation note: If the timeout parameter is greater than 0,
  this method uses my own implementation of
  java.net.HttpURLConnection, that uses plain sockets, to create an
  HTTP connection to the given URL. The {@code read} methods called
  on the returned InputStream, will block only for the specified timeout.
  If the timeout expires, a java.io.InterruptedIOException is raised. This
  might happen BEFORE OR AFTER this method returns, as the HTTP headers
  will be read and parsed from the InputStream before this method returns,
  while further read operations on the returned InputStream might be
  performed at a later stage.
  <BR/>
  </SMALL>
  
  @param pURL     the URL to get.
  @param pTimeout the specified timeout, in milliseconds.
  @return an input stream that reads from the socket connection, created
  from the given URL.
  @throws UnknownHostException  if the IP address for the given URL cannot
  be resolved.
  @throws FileNotFoundException if there is no file at the given URL.
  @throws IOException           if an error occurs during transfer.
  @see com.twelvemonkeys.net.HttpURLConnection
  @see java.net.Socket
  @see java.net.Socket#setSoTimeout(int) setSoTimeout
  @see HttpURLConnection
  @see java.io.InterruptedIOException
  @see <A href="http://www.w3.org/Protocols/rfc2616/rfc2616.html">RFC 2616</A>