
// GetWebPageP.java
// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th

/* Pomocí objektů typu URL a URLConnection získá webovou stránku.

  Nastaví pevně stanovené údaje o proxy server autentizaci.
  Používá třídu Base64Converter od Davida W. Crofta.

  Použití:
      java GetWebPageP <password> <url> 
*/


import java.net.*;
import java.io.*;
import java.util.*;

public class GetWebPageP 
{
  private static final String LOGIN = "ad";  // je třeba upravit

  public static void main(String args[]) throws IOException 
  {
     if (args.length != 2) {
       System.out.println("použití:  java GetWebPageP <password> <url>");
       System.exit(0);
     }

     // nastav vlastnosti pro podporu přístupu přes proxy-server
     Properties props = System.getProperties();
     props.put("proxySet", "true");
     props.put("proxyHost", "cache.psu.ac.th");
     props.put("proxyPort", "8080");
     System.setProperties(props);

     // vytvoř instance tříd URL a URLConnection
     URL url  = new URL(args[1]);   // URL string
     URLConnection conn = url.openConnection();

     // zakóduj heslo a login jako řetězce "login:heslo"
     Base64Converter bc = new Base64Converter();
     String encoding = bc.encode( LOGIN + ":" + args[0] );

     // odešli požadavek na autorizaci
     conn.setRequestProperty("Proxy-Authorization", "Basic " + encoding);

	 BufferedReader br = new BufferedReader ( 
	          new InputStreamReader ( conn.getInputStream() ));

     // vypiš prvních deset řádků stránky
     int numLine = 0;
     String line;
     while ( ((line = br.readLine()) != null) && (numLine <= 10) ) {
       System.out.println(line);
       numLine++;
     }
     if (line != null)
       System.out.println(". . .");

     br.close();
     System.exit(0);
  } // konec metody: main()

 
} // konec třídy: GetWebPageP
