PDA

Visualizza la versione completa : [C] Copiare un File da una Pagina Web ?


kNemo
12-05-2004, 17:32
Vorrei creare un programma che si connetta
ad una mia pagina web [es. miosito.it/file.txt]
e copi sul mio HD il file...
Il Problema e'.. Come faccio ???

(Mi servirebbe sia per Linux che per Windows)

kNemo
13-05-2004, 15:30
Nessuno ???

netarrow
13-05-2004, 15:59
io non lo so fare in C, ma ho l'alternativa in java.

:ciauz:

kNemo
13-05-2004, 16:37
Prova a Inviarmelo in Java...
Se riesco lo trasformo in C... :D

netarrow
13-05-2004, 16:43
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;

public class getPage
{

public getPage()
{
}

public static void main(String args[])
{
String s;
try
{
s = args[0];
}
catch(ArrayIndexOutOfBoundsException arrayindexoutofboundsexception)
{
s = "http://www.html.it/index.asp";
System.out.println("Nessun URL definito, prendo " + s);
}
System.out.println("URL:" + s);
boolean flag = false;
URL url = null;
try
{
url = new URL(s);
}
catch(MalformedURLException malformedurlexception)
{
System.out.println("URL errato, prendo http://www.html.it/index.asp ");
flag = true;
}
if(flag)
try
{
url = new URL("http://www.html.it/index.asp ");
}
catch(MalformedURLException malformedurlexception1) { }
BufferedReader bufferedreader;
try
{
bufferedreader = new BufferedReader(new InputStreamReader(url.openStream()));
}
catch(IOException ioexception)
{
System.out.println("Errore di apertura del file");
return;
}
File file = new File(".\\" + url.getFile());
FileWriter filewriter;
try
{
filewriter = new FileWriter(file);
}
catch(IOException ioexception1)
{
return;
}
try
{
String s1;
while((s1 = bufferedreader.readLine()) != null)
filewriter.write(s1);
filewriter.flush();
filewriter.close();
}
catch(IOException ioexception2)
{
System.out.println("Errore di lettura.");
return;
}
}



č un articolo trovato proprio su html.it
:ciauz:

kNemo
13-05-2004, 16:47
Grazie Mille netarrow...
Cmq aspetto ancora qualcuno che sappia come
si fa' in C o C++...
Adesso pero' mi guardero' come convertire il Tuo...

Grazie ancora...

kNemo
14-05-2004, 15:00
:quote:

Fox82
14-05-2004, 16:18
Dovresti aprire una socket che si collega al server web che ospita la pagina sulla porta 80

Poi devi mandare una richiesta tramite il protocollo HTTP (se ti serve la sintassi guarda qui (http://openskills.info/view/topic_slide.php?boxtype=topics&IDlanguage=1&IDtopic=53&mask=fa:fa:fa:fa:fa:fa:fa:fa:fa)) e inserisci la risposta in un buffer.

Da qui togli l'header della risposta che il server ti ha mandato e quello che ti rimane č il file richiesto.

Non ho mai provato direttamente, perņ se riesci ad implementare tutto dovrebbe funzionare

:ciauz:

kNemo
14-05-2004, 16:41
Come concetti ci ero piu' o meno arrivato...
Ma quello che non mi riesce e' l'implementazione ! :confused:

kNemo
16-05-2004, 10:57
Nessuno lo sa' fare in C o C++ ???

Loading