bizzu
04-05-2004, 13:22
Devo portare in locale una pagina web per poi analizzarla. Ho creato un programma in C++ che la scarica in questo modo:
CInternetSession* m_pInetSession;
CStdioFile* source; // file sorgente
LPTSTR instream; // stream del file sorgente
char buf[2048];
CStdioFile outfile; //file di output
m_pInetSession = new CInternetSession("AppUnknown", 1, INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0 );
source = m_pInetSession->OpenURL(url,1, INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_KEEP_CONNECTION,NULL,0);
if( !outfile.Open(sourceFile, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) ) {
exit( 1 );
}
while (instream != NULL) {
instream = source->ReadString(buf, 255);
outfile.WriteString(buf);
}
m_pInetSession->Close();
outfile.Close()
Il programma funziona, il mio unico problema č che vorrei ricevere un errore di qualche tipo nel caso in cui la pagina non sia disponibile. Invece, ora il file viene salvato normalmente, ma corrisponde alla classica pagina di errore 404. Questo mi rovina tutta la successiva analisi, che non dovrebbe avere luogo in mancanza della giusta pagina!
Come posso fare?
Thanx :)
CInternetSession* m_pInetSession;
CStdioFile* source; // file sorgente
LPTSTR instream; // stream del file sorgente
char buf[2048];
CStdioFile outfile; //file di output
m_pInetSession = new CInternetSession("AppUnknown", 1, INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0 );
source = m_pInetSession->OpenURL(url,1, INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_KEEP_CONNECTION,NULL,0);
if( !outfile.Open(sourceFile, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) ) {
exit( 1 );
}
while (instream != NULL) {
instream = source->ReadString(buf, 255);
outfile.WriteString(buf);
}
m_pInetSession->Close();
outfile.Close()
Il programma funziona, il mio unico problema č che vorrei ricevere un errore di qualche tipo nel caso in cui la pagina non sia disponibile. Invece, ora il file viene salvato normalmente, ma corrisponde alla classica pagina di errore 404. Questo mi rovina tutta la successiva analisi, che non dovrebbe avere luogo in mancanza della giusta pagina!
Come posso fare?
Thanx :)