Newsgroup: it.comp.lang.delphi
Titolo: HTTP/1.1 999 AW Special Error

Ciao a tutti.
Da quest'ultima settimana, un applicazione che funzionava da anni mi 
restituisce il seguente errore:
- exception class EIdConnClosedGracefully with message 'Connection 
Closed Gracefully.'
ed in seguito:
- exception class EIdHTTPProtocolException with message 'HTTP/1.1 999 AW 
Special Error
La suddetta applicazione, si occupa semplicemente di scaricare file da 
internet (aggiornamenti software) ma gli errori si sollevano dalla 
chiamata alla seguente istruzione:
IdHTTP.Get(SourceURL, Stream);
SourceURL esiste e copiandone il contenuto pari pari nel browser il file 
  viene scaricato.
L'ambiente è delphi 6 e il componente è Indy TidHttp 9.0.13
Qualche idea?

 L'ambiente è delphi 6 e il componente è Indy TidHttp 9.0.13
*Potrebbe* essere, ma dico *potrebbe*... che un aggiornamento lato server
abbia modificato il protocollo o la sua gestione.
Questo potrebbe condizionarti nell'installare gli indy ultima versione.
Verifica lato server cosa è successo: update automatici, modifiche
webserver, ecc...
"Pour parler" ti racconto che a noi e' successo una volta durante la notte
sono andati sul server degli update automatici di microsoft che hanno
aggiornato il framework dotnet: l'aggiornamento (sciagurato) modificava un
valore di default di una classe utilizzata in un nostro webservice. Questo
ha di colpo bloccato il funzionamento di una nostra applicazione web.
E tutto questo, per un default che prima era true, poi ora e' false (non
ricordo quale fosse il metodo e di quale classe...)
Incosciente microsoft a modificare un default senza avvisare ( e noi
inconsapevoli a lasciare gli update automatici sul server...)
-- 
Morde

Penso tu abbia ragione, sto provando ad installare il nuovo Indy ma mi 
sa che ho combinato un casino, non va più un cavolo, ho errori tipo: 
[Fatal Error] IdExceptionCore.pas(111): Unit IdSysWin32 was compiled 
with a different version of IdException.EIdException.
Eppure prima di procedere all'installazione ho rimosso il package da 
"Install package", ho eliminato i path in lib, ho cancellato la 
directory e i vari files sparsi in system32 dopodichè ho fatto una 
ricerca generale sul disco e non coparivano più file indy. Da qui ho 
installato il indy10.0.76_d6.exe (come da sito) ma nulla. Appena apro 
delphi trovo i componenti ma in compilazione arrivano gli errori.
che frustrazione....
Morde ha scritto:


Per la cronaca.... (non si sa mai capiti a qualcun'altro)
Ho trovato un modo di aggirare il problema riguardo HTTP/1.1 999 AW 
Special Error.
Sostituendo il default di UserAgent dei componenti Indy (qualsiasi 
versione), che per default  utilizzano "Mozilla/X.0 (compatible; Indy 
Library)" con "Mozilla/5.0 (Windows; U; Windows NT 6.0; it; 
rv:1.8.1.12)" tutto riprende a funzionare.
Questo problema non si verifica su server linux, nel mio caso capita su 
server Microsoft-IIS/6.0 (di Aruba)
Ora il problema è che ridistribuire l'applicazione a tutti i clienti (e 
spiegare dove va salvata, ecc.. considerando che non hanno dimestichezza 
con i pc) sarebbe impraticabile perciò spero risolvano la questione da 
lato server e in tempi utili.
Ciao a tutti.
Alex ha scritto:


Grazie, la tua risposta è stata utilissima!

 lato server e in tempi utili.
 
Il 999 e` generato da alcuni siti (basati proprio su IIS) che fanno un filtro sull'header user-agent, e dubito molto che cambieranno le loro politiche per includere la variante Indy tra quelli accettati. Non capisco una cosa pero`: tu hai sviluppato un'applicazione per dei clienti che non e` facilmente distribuibile? E per gli aggiornamenti come fai?