Diferencia entre revisiones de «Prácticas con URL»
Ir a la navegación
Ir a la búsqueda
| Línea 119: | Línea 119: | ||
= Enunciado 4 = | = Enunciado 4 = | ||
Crea unha URLConnection utilizando o método openConnection() dun obxecto URL. Despois utilízao para: | Crea unha URLConnection utilizando o método openConnection() dun obxecto URL. Despois utilízao para: | ||
| − | * examinar as propiedades. Por exemplo | + | * examinar as propiedades. Por exemplo o valor do campo: |
| − | + | :* ''date'' da cabecera | |
| − | :* | + | :* ''content-type'' da cabecera (ou nulo de é descoñecido) |
| − | :* | + | :* ''expires'' da cabecera |
| − | :* | + | :* ''last-modified'' da cabecera (se non o tratas, o resultado é o número de milisegundos desde o 1 de xaneiro de 1970 GMT) |
* amosar os contidos do documento | * amosar os contidos do documento | ||
= Solucións = | = Solucións = | ||
Podes consultar as [[solucións ás practicas con URL]]. | Podes consultar as [[solucións ás practicas con URL]]. | ||
Revisión del 22:22 13 nov 2021
Enunciado 1
Comproba o funcionamento do seguinte programa, e analiza os resultados obtidos:
1 import java.net.*;
2
3 // https://www.cifprodolfoucha.es/centro/
4 class url_ej1_a{
5 public static void main( String[] args ) {
6 url_ej1_a obj = new url_ej1_a();
7
8 try {
9 System.out.println("Constructor simple para URL principal" );
10 obj.display( new URL( "https://www.cifprodolfoucha.es" ) );
11
12 System.out.println("Constructor de cadea para URL + directorio" );
13 obj.display( new URL( "https://www.cifprodolfoucha.es/centro") );
14
15 System.out.println("Constructor con protocolo, host e directorio" );
16 obj.display( new URL("https","www.cifprodolfoucha.es","/centro" ) );
17
18 System.out.println("Constructor con protocolo, host, porto e directorio" );
19 obj.display( new URL("https","www.cifprodolfoucha.es",443,"/centro" ) );
20
21 System.out.println( "Construe un enderezo absoluto a partir do enderezo do Host e unha URL relativa" );
22 URL baseURL = new URL("https://www.cifprodolfoucha.es" );
23 obj.display( new URL( baseURL,"/centro") );
24
25 } catch( MalformedURLException e ) {
26 System.out.println( e );
27 }
28 }
29
30 // Método para poder presentar na pantalla partes dun enderezo URL
31 void display( URL url ) {
32 System.out.print( url.getProtocol()+" " );
33 System.out.print( url.getHost()+" " );
34 System.out.print( url.getPort()+" " );
35 System.out.print( url.getFile()+" " );
36 System.out.println( url.getRef() );
37
38 // Presenta o enderezo completa como unha cadea
39 System.out.println( url.toString() );
40 System.out.println();
41 }
42 }
Modificao para comprobar o funcionamento con:
Enunciado 2
Escribe un programa que garde o contido dunha URL nun ficheiro chamado paxina.html.
Tes este código de xestión do ficheiro para que che sirva de axuda:
1 // Código anterior a implementar...
2 if (fichero.exists()) {
3 System.out.println("O ficheiro " + sFichero + " xa existe!");
4 } else {
5 try {
6 // Ábrese unha conexión hacia esa URL que devolverá unha canle de entrada pola cal poderá ler todo o que chegue
7 BufferedReader paginaHtml = new BufferedReader(new InputStreamReader(entrada));
8 BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero));
9
10 // Leese e preséntase o contido do ficheiro en pantalla liña a líña
11 while ((cadena = paginaHtml.readLine()) != null) {
12 bw.write(cadena + "\r\n");
13 }
14
15 System.out.println("Ficheiro creado correctamente");
16
17 try {
18 paginaHtml.close();
19 bw.close();
20 } catch (IOException e) {
21 e.printStackTrace();
22 System.out.println("Excepción na entrada e saída ó pechar o ficheiro!");
23 }
24
25 } catch (UnknownHostException e) {
26 e.printStackTrace();
27 System.out.println("Debes estar conectado para que isto funcione ben!");
28 } catch (MalformedURLException e) {
29 e.printStackTrace();
30 System.out.println("Esa URL non está ben formada!");
31 } catch (IOException e) {
32 e.printStackTrace();
33 System.out.println("Excepción na entrada e saída!");
34 }
35 }
36 }
Enunciado 3
Crea un programa que descargue unha imaxe a partir da súa URL.
Tes este código de xestión do ficheiro para a escritura da imaxe para que che sirva de axuda:
1 // obtense o inputStream da foto web e ábrese o ficheiro local.
2 InputStream is = urlCon.getInputStream();
3 FileOutputStream fos = new FileOutputStream("foto.jpg");
4
5 // lectura da foto da web e escritura en ficheiro local
6 byte[] array = new byte[1000]; // buffer temporal de lectura
7 int leido = is.read(array);
8
9 while (leido > 0) {
10 fos.write(array, 0, leido);
11 leido = is.read(array);
12 }
13
14 // peche de conexion e ficheiro.
15 is.close();
16 fos.close();
Enunciado 4
Crea unha URLConnection utilizando o método openConnection() dun obxecto URL. Despois utilízao para:
- examinar as propiedades. Por exemplo o valor do campo:
- date da cabecera
- content-type da cabecera (ou nulo de é descoñecido)
- expires da cabecera
- last-modified da cabecera (se non o tratas, o resultado é o número de milisegundos desde o 1 de xaneiro de 1970 GMT)
- amosar os contidos do documento
Solucións
Podes consultar as solucións ás practicas con URL.