ciao a tutti,sono un classe 79 ke deve ormai laurearsi...ma dall'alto della sua ignoranza e pesando il fatto ke ha ripreso gli studi dopo 5anni....vi kiedo un favore....un aiuto...mi mancano 2 esami....uno è un progetto di java...questo è il testo:
GNU wget è una utility da riga di comando molto diffusa in ambiente Linux/Mac, ma disponibile anche per ambiente Windows. Serve per scaricare un file, una pagina o una intera gerarchia di pagine dal web. Scopo di questo progetto è quello di scrivere una rudimentale versione di wget in Java.
Il programma deve essere in grado di:
* (default) Scaricare un file (pagina o altro) di cui sia dato l'URL
* (-r) Scaricare una pagina HTML in modo ricorsivo fino ad un certo livello ricostruendo localmente l'albero. Il programma dovrà verificare all'interno della pagina quali siano i link che puntano a risorse locali (devono essere sullo stesso server) e dovrà procedere a scaricarle salvandole in locale e modificando opportunamente gli URL nel caso siano assoluti. Il numero di livelli dovrà essere impostato di default a 2, ma l'utente deve poter indicare il numero di livelli desiderati (-r0, nessun livello, solo le immagini; -r1, un livello; etc.).
* (-s) Scaricare i files solo se non sono già presenti sul disco locale o non sono stati modificati dopo che quelli locali erano stati scritti su disco.
L'input utente potete scegliere di leggerlo da console, utilizzando metodi della classe javax.swing.JOptionPane o meglio ancora, da console sfruttando gli argomenti del metodo main() (che vedremo nella prossima esercitazione di laboratorio).
Il progetto può sembrare complesso, ma è solamente inusuale dice il prof....io lavorando non ho potuto frequentare dunque...io ho scritto questo per ora :
import java.io.*;
import java.net.*;
import java.io.BufferedReader;
import java.io.IOException;
/**
* Il seguente programma scarica la pagina
* www.unimi.it
*
*
*/
public class GetRudimentale {
public static void main(String[] args) throws IOException, InterruptedException {
String nomeServer = "www.unimi.it";
Socket webSocket = null;
PrintWriter webOut = null;
BufferedReader webIn = null;
try {
// Crea un oggetto Socket che sia connesso al server prescelto sulla
// porta 80
webSocket = new Socket(nomeServer, 80);
webOut = new PrintWriter(webSocket.getOutputStream(), true);
webIn = new BufferedReader(new InputStreamReader(webSocket.getInputStream()));
}
catch (UnknownHostException e) {
System.err.println(nomeServer + ": server sconosciuto.");
System.exit(1);
}
catch (IOException e) {
System.err.println(nomeServer + ": la connessione ha generato il seguente errore:");
System.err.println(e);
System.exit(1);
}
String webInput;
System.out.println("(Connection to " + nomeServer + " open.)");
boolean paginaTrovata = false;
// Richiesta HTTP al server
webOut.println("GET /~gianni/index.htm HTTP/1.1");
webOut.println("Host: www.unimi.it");
webOut.println("");
// Attende che il server risponda
while( webIn.ready() == false );
// Gestione minimale della risposta del Server
while( webIn.ready() ) {
webInput = webIn.readLine();
if( webInput.equals("") )
{
// L'header è finito
break;
}
else if( webInput.equals("HTTP/1.1 200 OK") )
{
// La pagina è stata ricevuta correttamente cazzo
paginaTrovata = true;
}
System.out.println(webInput);
}
if(paginaTrovata) {
// Salve il corpo della risposta HTTP in un file
File filePaginaScaricata = new File("paginaScaricata.htm");
FileWriter writerPaginaScaricata = new FileWriter(filePaginaScaricata);
PrintWriter streamPaginaScaricata = new PrintWriter(writerPaginaScaricata);
while( webIn.ready() ) {
webInput = webIn.readLine();
streamPaginaScaricata.println(webInput);
}
streamPaginaScaricata.close();
}
webOut.close();
webIn.close();
webSocket.close();
System.out.println("(Connection to " + nomeServer + " close.)");
System.exit(0);
}
}
il problema è ke io non so come cactus dovrei fare a cercare il tag a x i link e per poi salvare tutti i "livelli" della pagina...il mio indirizzo email è <cut>...sul forum ci sarò poco dato ke lavoro...cmq ringrazio e saluto tutti x l'attenzione

Rispondi quotando

, mi sembra comunque molto interessante!