private void openURL ( String urlString , Command command ) { try { //Open the URLConnection for reading URL u = new URL ( urlString ) ; currentConnection = ( HttpURLConnection ) u . openConnection ( ) ; currentConnection . setRequestMethod ( command . toString ( ) ) ; // GET or HEAD currentConnection . setAllowUserInteraction ( true ) ; clear ( ) ; appendLine ( command + " request for " + urlString ) ; // request headers Map < String , List < String > > reqs = currentConnection . getRequestProperties ( ) ; for ( Map . Entry < String , List < String > > ent : reqs . entrySet ( ) ) { append ( " " + ent . getKey ( ) + ": " ) ; for ( String v : ent . getValue ( ) ) append ( v + " " ) ; appendLine ( "" ) ; } appendLine ( "" ) ; appendLine ( "getFollowRedirects=" + HttpURLConnection . getFollowRedirects ( ) ) ; appendLine ( "getInstanceFollowRedirects=" + currentConnection . getInstanceFollowRedirects ( ) ) ; appendLine ( "AllowUserInteraction=" + currentConnection . getAllowUserInteraction ( ) ) ; appendLine ( "" ) ; int code = currentConnection . getResponseCode ( ) ; String response = currentConnection . getResponseMessage ( ) ; // response headers appendLine ( " HTTP/1.x " + code + " " + response ) ; appendLine ( " content-length: " + currentConnection . getContentLength ( ) ) ; appendLine ( " content-encoding: " + currentConnection . getContentEncoding ( ) ) ; appendLine ( " content-type: " + currentConnection . getContentType ( ) ) ; appendLine ( "\nHeaders: " ) ; for ( int j = 1 ; true ; j ++ ) { String header = currentConnection . getHeaderField ( j ) ; String key = currentConnection . getHeaderFieldKey ( j ) ; if ( header == null || key == null ) break ; appendLine ( " " + key + ": " + header ) ; } appendLine ( "" ) ; appendLine ( "contents:" ) ; // read it java . io . InputStream is = currentConnection . getInputStream ( ) ; ByteArrayOutputStream bout = new ByteArrayOutputStream ( 200000 ) ; IO . copy ( is , bout ) ; is . close ( ) ; append ( new String ( bout . toByteArray ( ) , CDM . utf8Charset ) ) ; appendLine ( "end contents" ) ; } catch ( MalformedURLException e ) { append ( urlString + " is not a parseable URL" ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } }
Uses java . net