Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Come da titolo dovrei scaricare un file zip (archivio estrazioni lotto) e opzionale salvare il file zippato in una cartella dedicata. Lo so molti storceranno il naso ma il lotto a me piace. Ho provato diversi codici, per cercare la soluzione migliore, ma quando il codice non dava errori riscontravo questi 2 problemi non in contemporanea:
1) Il file veniva apparentemente scaricato (oppure creato), ma era a zero kb (almomento è di circa 601 kb).
2) Nel secondo caso dava questo errore: richiesta annullata impossibile creare un canale sicuro SSL.
E da giorni che ci sto sbattendo la testa e pensavo fosse più semplice scaricare un file da internet.
Lo so molti storceranno il naso ma il lotto a me piace.
Allora fai ogni tanto le tue giocate senza però spacciare un programma informatico per qualcosa che possa "prevedere" le uscite.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
Hai postato un codice privo degli End Class, End Sub doppie o remmate dichiarazioni....
Per scaricare il file dal sito indicato hai bisogno del certificato oppure gestire il protocollo SSL/TLS
Nel codice che ti propongo se cambi l'anno alla fine del link nella "textbox source" e metti il nome giusto nella "textbox destination" scarichi l'archivio corrispondente.
Codice:
Codice sorgente - presumibilmente VB.NET
Imports System.Net
PublicClass Form1
PrivateSub DownloadArchivio_Load(sender AsObject, e As EventArgs)HandlesMyBase.Load
' senza percorso il file finisce nella cartella dell'exe
Lo so molti storceranno il naso ma il lotto a me piace.
Allora fai ogni tanto le tue giocate senza però spacciare un programma informatico per qualcosa che possa "prevedere" le uscite.
Non capisco perchè sempre tutta questa polemica. Io non voglio spacciare niente ho solo chiesto non riesco a scaricare un file che potrebbe chiamarsi archivio.zip o pippo.zip il problemasarebbe lo sesso.
Io ero qui per chiedere aiuto e non per ricevere polemica, se lacosa a te non interessa basta non rispondere punto e basta. e con questa è già laseconda volta.
Hai postato un codice privo degli End Class, End Sub doppie o remmate dichiarazioni....
Per scaricare il file dal sito indicato hai bisogno del certificato oppure gestire il protocollo SSL/TLS
Nel codice che ti propongo se cambi l'anno alla fine del link nella "textbox source" e metti il nome giusto nella "textbox destination" scarichi l'archivio corrispondente.
Codice:
Codice sorgente - presumibilmente VB.NET
Imports System.Net
PublicClass Form1
PrivateSub DownloadArchivio_Load(sender AsObject, e As EventArgs)HandlesMyBase.Load
' senza percorso il file finisce nella cartella dell'exe
nel form devi aggiungere due textbox:
txtDestination
txtSource
e un button:
btnDownload
Si ho fatto un copia incolla per postare il codice completoe mi scuso se qualcosa ho lasciato per strada.
Bè non loscarico così perchè e molto semplice, invece avevo visto un software che scaricava il file in formato zip e poi copiava il file al suo interno che è un txt nella rispettiva cartella e volevo ricreare tale situazione.
Si sicuramente quel file si scaricherebbe senza problemi, però primo non ha la stessa formattazione e quindi incasinato nella lettura e visto che avevo una parte di codice che gentilmente già molto tempo fa tu mi avevi aiutato per gestire tale archivio preferivo questo, e secondo dovrei scaricarmi più anni mentre quello da me proposto ha l'archivio completo.
Il codice che tu hai proposto e di cui ti ringrazio però scarica da quello che io non voglio e non so se modificando solo il link può funzionare.
Come dici tu "Per scaricare il file dal sito indicato hai bisogno del certificato oppure gestire il protocollo SSL/TLS" vorrei capire come come avere questo certificato, cioè se devo averlo io nell'applicazione o deve sempre e comunque risiedere sul server.
Ho cercato di risolvere questa cosa del protocollo SSL ma non cisono riuscito e non capisco perchè non basti mettere il link e stop, d'altronde se è un link che mettono loro a disposizione non vedo che danno io potrei fare.
No messo come suggerito in alcuni siti queste righe:
ma non ho risolto, ho provato anche una procedura che a detta dell'autore dovrebbe bpassare laverifica del protocollo SSL7TLS ma non funziona.
A questo punto non so che fare perchè si trova poco a riguardo oppure io non ho cercato in modo approfondito.
Ho cercato di capire anche il perchè mettendo il link nelbrowser lui lo scarica tranquillamente dalla mia applicazione invece no! Si vede che nel browser ci sono verifiche e/o controlli che non sono implementate nella mia applicazione.
Ultima modifica effettuata da Giacos71 il 01/02/2023 alle 22:55
Lo so molti storceranno il naso ma il lotto a me piace.
Allora fai ogni tanto le tue giocate senza però spacciare un programma informatico per qualcosa che possa "prevedere" le uscite.
Non capisco perchè sempre tutta questa polemica. Io non voglio spacciare niente ho solo chiesto non riesco a scaricare un file che potrebbe chiamarsi archivio.zip o pippo.zip il problemasarebbe lo sesso.
Io ero qui per chiedere aiuto e non per ricevere polemica, se lacosa a te non interessa basta non rispondere punto e basta. e con questa è già laseconda volta.
Veramente sei stato tu a dire "molti storceranno il naso" e io te l'ho confermato e ti ho anche spiegato il perché la penso così.
E lo farò la terza, quarta e quinta volta se serve ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
Anticipo SOLUZIONE senza arrivare alla fine della discussione Il problema si ha su alcuni siti se si usa Win7, con Win10 il file si scarica correttamente anche da codice .Net.
--- Post originale ----> Purtroppo non so perché da .Net anche con il protocollo Tls12 il certificato per scaricare https://www.igt.it/STORICO_ESTRAZIONI_LOTTO/storico.zip non sia valido, speriamo che qualcuno ce lo spieghi.
Personalmente non ho problemi da .Net a scaricare files da altri siti o dai miei con il protocollo Tls12
Ho scritto due righe che ti potrebbero tornare utili.
Metti nella caretella C:\Downloads\ il file Storico.txt scaricato da igt e dezippato a mano.
Lancia il programma DownloadArchivio.exe dopo averlo estratto dallo zip allegato qui sotto.
Il programma cerca nel file Storico.txt l'ultima data presente e ne usa l'anno per scaricare da lottologia il file ArchivioAAAA.txt corrispondente.
Scaricato il file ArchivioAAAA.txt, le date non presenti in Storico.txt verranno aggiunte con la giusta formattazione.
Il programma è anche capace di scaricare più anni, puoi provare cancellando alcune estrazioni da Storico.txt
ATTENZIONE Non controlla se nella data ci sono tutte le estrazioni, se cancelli delle estrazioni da "Storico.txt" lo devi fare sempre dall'estrazione di BA in poi, Il file Storico.txt deve sempre terminare con l'estrazione di VE e suoi estratti, non deve contenere righe vuote alla fine.
Il programma in una listbox annota tutte le fasi, utile per capire il progresso e il contenuto delle variabili, il punto esclamativo indica che si può procedere, il punto interrogativo indica un errore e il programma termina.
Aggiungo il codice completo, la listbox viene aggiunta in runtime
Codice sorgente - presumibilmente VB.NET
Imports System.Net
Imports System.IO
PublicClass Form1
Dim lB AsNew ListBox
Dim storico As List(Of String)
Dim percorsoStorico AsString="C:\Downloads\Storico.txt"
Dim diffAnno AsInteger
Dim ultimaData AsDate
PrivateSub Form1_Shown(sender AsObject, e As EventArgs)HandlesMyBase.Shown
ServicePointManager.SecurityProtocol= SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Ssl3
Sulle estrazioni aggiunte i numeri minori di 10 contengono lo zero davanti (non ti dovrebbe cambiare nulla)
Il file Storico.txt quando risalvato contiene CrLf a fine riga (non ti dovrebbe cambiare nulla)
Ho cercato di prevedere i possibili scenari, ma sicuramente mi è sfuggito qualcosa, sta a te verificare.
Spero che ti sia utile.
EDIT: Ho corretto un errore
PS. meno parole che non riguardano il codice ci sono e meglio è...
Lo so molti storceranno il naso ma il lotto a me piace.
Allora fai ogni tanto le tue giocate senza però spacciare un programma informatico per qualcosa che possa "prevedere" le uscite.
Non capisco perchè sempre tutta questa polemica. Io non voglio spacciare niente ho solo chiesto non riesco a scaricare un file che potrebbe chiamarsi archivio.zip o pippo.zip il problemasarebbe lo sesso.
Io ero qui per chiedere aiuto e non per ricevere polemica, se lacosa a te non interessa basta non rispondere punto e basta. e con questa è già laseconda volta.
Veramente sei stato tu a dire "molti storceranno il naso" e io te l'ho confermato e ti ho anche spiegato il perché la penso così.
E lo farò la terza, quarta e quinta volta se serve ...
E invece penso che se tu non convidi ciò che faccio o non ti interessa minimamente aiutarmi, basta sempplicemente non intervenire. L'unica cosa che accetto è la parte dove andarci cauto con le giocate. Basta!
Purtroppo non so perché da .Net anche con il protocollo Tls12 il certificato per scaricare https://www.igt.it/STORICO_ESTRAZIONI_LOTTO/storico.zip non è valido, speriamo che qualcuno ce lo spieghi.
Personalmente non ho problemi da .Net a scaricare files da altri siti o dai miei con il protocollo Tls12
Non capisco nemmeno io ed internet sembra ci siano poche informazioni a riguardo, non capisco se l certificato dipenda da me o dal server. Comunque ho scoperto che una volta immesso il link in questo caso https://www.igt.it/ e facendo clck sul lucchetto nella barra degli indirizzi compare un men dal quale si può esportare il certificato (igt.cert). Però non so se si può passare questo certificato al programma per poter dialogare in modo corretto e sicuro col server. Se fosse che si può si potrebbe creare una procedura che verifica se chiede un certificato x e lo usa nell'applicazione, anche perchè penso che il certificato non sia uguale per tutti. Almeno questa è l'idea.
Ho scritto due righe che ti potrebbero tornare utili.
Alla faccia delle due righe! E ben molto di più, di questo te ne sono grato anche se io volevo fare funzionare il mio e il fatto che non ci sia riuscito mi fa rabbia. Da quanto ho capito il codice che mi hai messo scarica le estrazioni dal link che mi hai messo tu e le accoda nel file scaricato (a mano e unzippato) dal sito che voglio io giusto? Certo che hai fatto un lavoraccio (nel senso) grande, e tutto questo per scaricare un file. Non voglio sembrare un chiede codice come almercato (giàavuto esperienza in un post precedente), difatti il mio obbiettivo era quello di riuscire a scaricare il file zip. Comunque grazie.
Metti nella caretella C:\Downloads\ il file Storico.txt scaricato da igt e dezippato a mano.
Lancia il programma DownloadArchivio.exe dopo averlo estratto dallo zip allegato qui sotto.
Il programma cerca nel file Storico.txt l'ultima data presente e ne usa l'anno per scaricare da lottologia il file ArchivioAAAA.txt corrispondente.
Scaricato il file ArchivioAAAA.txt, le date non presenti in Storico.txt verranno aggiunte con la giusta formattazione.
Il programma è anche capace di scaricare più anni, puoi provare cancellando alcune estrazioni da Storico.txt
ATTENZIONE Non controlla se nella data ci sono tutte le estrazioni, se cancelli delle estrazioni da "Storico.txt" lo devi fare sempre dall'estrazione di BA in poi, Il file Storico.txt deve sempre terminare con l'estrazione di VE e suoi estratti, non deve contenere righe vuote alla fine.
Il programma in una listbox annota tutte le fasi, utile per capire il progresso e il contenuto delle variabili, il punto esclamativo indica che si può procedere, il punto interrogativo indica un errore e il programma termina.
Aggiungo il codice completo, la listbox viene aggiunta in runtime
Codice sorgente - presumibilmente VB.NET
Imports System.Net
Imports System.IO
PublicClass Form1
Dim lB AsNew ListBox
Dim storico As List(Of String)
Dim percorsoStorico AsString="C:\Downloads\Storico.txt"
Dim diffAnno AsInteger
Dim ultimaData AsDate
PrivateSub Form1_Shown(sender AsObject, e As EventArgs)HandlesMyBase.Shown
ServicePointManager.SecurityProtocol= SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Ssl3
Sulle estrazioni aggiunte i numeri minori di 10 contengono lo zero davanti (non ti dovrebbe cambiare nulla)
Il file Storico.txt quando risalvato contiene CrLf a fine riga (non ti dovrebbe cambiare nulla)
Ho cercato di prevedere i possibili scenari, ma sicuramente mi è sfuggito qualcosa, sta a te verificare.
Spero che ti sia utile.
EDIT: Ho corretto un errore
PS. meno parole che non riguardano il codice ci sono e meglio è...
Se ti riferisci che ho scritto troppe parole e poco codice chiedo scusa ma mi dovevo pure spiegare, se invece ti riferisci a nessuno che si permette di giudicarmi mi spiace ma non mi sta bene. Io dico solo se non condividi le mie idee o non ti va di aiutarmi semplicemente ignorami, se invece semplicimente entri per farmi le tue osservazioni personali mi spiace ma proprio no. Anche perchè se io voglio creare un piccola applicazione per il gioco del lotto non voglio proprio obbligare nessuno a seguirmi o credere alle mie ideologie. Io voglio semplicemte risolve un mio problema di programmazione e ho chiesto aiuto. Poi se vuole uno mi aiuta oppure no, di certo non mi offendo. Anche perchè questa sarebbe la seconda volta, non sarebbe più semplice ignorarmi? Dicerto non sono arrivato alla tenera eta di 52 anni per farmi mancare di rispetto da nessuno, e io non ha dato fastidio a nessuno!
Bene ora chiudo qua il discorso e se ho frainteso ho offeso qualcuno chiedo scusa.