Newsgroup: it.comp.programmare.win32
Titolo: salvare un file HTML su disco fisso

Ho molti dubbi sulla navigazione internet ;)
utilizzando il compilatore MSVC++,
mi piacerebbe scaricare diverse pagine usando un programma anzichč
portarmici manualmente,
ho trovato diversi post che parlavano piů o meno di come si puň fare,
ma non ho capito molto bene come,
considerando un post con sorgente, sono andato a leggermi la guida
MSDN riferita alle classi menzionate e ho preferito la strada con la
funzione OpenURL().
Il risultato di questo blocco d'istruzioni č che apro la connessione
e...
vorrei tanto salvarmi la pagina HTML con un nome specificato per poi
aprirlo in un secondo tempo, ma non so come fare perchč le funzioni
legate alla classe CHttpFile contengono solo riferimenti
all'indirizzo, come salvare il file sul disco fisso?
il codice che ho usato č il seguente:
m_lscDownload č un CListCtrl per la visualizzazione
if( !listaMercati.MercatiDownload() ){
 listaMercati.ApriDownload();
 CInternetSession sessione( NULL, 1, INTERNET_OPEN_TYPE_PRECONFIG,
NULL, NULL, 0 );
 CHttpFile *file;
 file= NULL;
 m_lscDownload.InsertItem(0,"Inizio download");
 CString messaggio;
 try{
 file=(CHttpFile*)sessione.OpenURL("
http://quotazioni.soldionline.it//quotazioni.asp?p=25&m=2
",1,INTERNET_FLAG_TRANSFER_ASCII,NULL,0);
 if(file){
  messaggio.Format("Nomefile: %s",file->GetFileName());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Lunghezza file: %ld",file->GetLength());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Url: %s",file->GetFileURL());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Titolo: %s",file->GetFileTitle());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Percorso: %s",file->GetFilePath());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Oggetto: %s",file->GetObject());	
  m_lscDownload.InsertItem(0,messaggio);
  messaggio.Format("Verbo: %s",file->GetVerb());	
  m_lscDownload.InsertItem(0,messaggio);
  m_lscDownload.InsertItem(0,"");
  messaggio.Format("nome file salvato: %s",file->GetFileURL());	
  m_lscDownload.InsertItem(0,messaggio);
 }
 else
  m_lscDownload.InsertItem(0,"nessun download");
  file->SendRequest();
  file->EndRequest();
 }
 catch( CInternetException *e ){
  char str[80];
  e->GetErrorMessage(str,80,NULL);
  m_lscDownload.InsertItem(0,str);
  e->Delete();
 }
 if(file){
  file->Close();
  messaggio= "chiudo file";
 }
 else
  messaggio= "file non scaricato";
 m_lscDownload.InsertItem(0,"");
 m_lscDownload.InsertItem(0,messaggio);
 m_lscDownload.InsertItem(0,"chiudo sessione");
 sessione.Close();
 listaMercati.ChiudiDownload();
}
e visualizza questo:
chiudo sessione
chiudo file
nome salvato: http//
Verbo: GET
Oggetto: //
quotazioni.soldionline.it//quotazioni.asp?p=25&m=2
Percorso: //
quotazioni.soldionline.it//quotazioni.asp?p=25&m=2
Url: http://
Lunghezza file: 846
Nome file: quotazioni.asp?p=25&m=2
Inizio download
se qualcuno potesse aiutarmi ne sarei molto grato,
duido

con questa modifica riesco a copiare il contenuto nel disco fisso,
il problema che si propone è che il download non è completo,
per scaricare tutta la pagina come devo comportarmi?
qualche buon'anima pia santissima trinità può aiutarmi
amen, duido
if(file){
 // salvataggio del contenuto del file
 char str[300000];
 file->SeekToBegin();
 file->Read(str,file->GetLength());
 ofstream cfile;
 cfile.open("c:\\file.html",ios::out|ios::binary);
 cfile.write(str,file->GetLength());
 cfile.close();
 file->Close();
 messaggio= "chiudo file";
}
questa è la pagina scaricata e, come si può vedere non è completa, non
è presente la chiusura  della pagina HTML non è presente, </html>
deduco che il trasferimento sia a pacchetti altrimenti come spiegarsi
questo comportamento.
INIZIO >>> HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<meta NAME="author" CONTENT="Simone Ossola - Varese (Italy)">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<title>Quotazioni SoldiOnline</title>
<link href="/repository/css/sito3v.css" rel="stylesheet"
type="text/css">
<!--*********Gestione aggiornamento sessioni  (ADAMAS
s.r.l)*************-->
<SCRIPT LANGUAGE="javascript"
SRC="
http://reception.soldionline.it/Updcookies.inc.asp
">
</SCRIPT>
<!--*****************************************************************-->
<script src="/repository/JS/data.js"></script>
<script>
<!--
function launchGlobe(url) {
  SOLGlobe = open(url,"SOLGlobe","width=330,height=280,left=50,top=50,toolbar=no,statusbar=no,scrollbars=no");
  SOLGlobe.focus(); 
}
function launchG(url) {
  glossario = open(url, "Glossario",
"resizable,scrollbars,width=400,height=300,left=50,top=50");
}
function launch(url) {
	SOLPopUpChart = open(url,
"WndPopUpSOLChart","resizable,width=290,height=310,left=20,top=20");
}
function Watchlist(urlD)
{ window.open(urlD, 'watchlistSOL','resizable,scrollbars,width=800,height=600,lef

pacchetti