ESTRAZIONE FILE EXCEL TRAMITE METODO JAVASCRIPT con autenticazione al ...

lunedì 10 febbraio 2014 - 19.20

Cix Profilo | Newbie

Ciao ringraziandovi per la cortese attenzione, ho questo problema, sul qualeci ho sbattuto un pò, ma senza soluzione, premessoc he sono aperto a qualsiasi soluzione con qualsiasi linguaggio di programmazione


Vorrei scaricare un file da una pagina Web che genera tramite un Javascript. (un Excel con i voti del fantacalcio ;) )

il sito è Fantagazzetta.com:
http://fantagazzetta.com/download.aspx?key=voti&g=3
dove l'href di "Redazione di Milano" fa scaricare un Excel.
Il click richiama il metodo Javascript __doPostBack(target, argument) che per target prende 'ctl00$ContentPlaceHolderElle$Download1$LinkButtonExcelM' e argument ''.

questo è il problema principale .. però c'è da dire che il file .xls da scaricare appartienead un area protetta dove per entrare bisgona autenticarsi,, e quindi penso pure per scaricarsi, quindi sto programma dovrebbea utenticarsi...non so




poi problema minore il programma solo se si puo, ma gi aun aversione senza quest0ulteriore cose non è un problema, il programma dovrebbe dove c'è scritto ,

voti&g=3 di volta in volta fare 4,5,5,6

Certo di un tuo aiuto ti ringrazio sin d'ora

darken Profilo | Newbie

Ciao,
la tua richiesta mi pare un po' contorta e non ho capito bene. Vediamo se comunque ti sono utile.
Allora il codice di "generazione" che hai postato è si una chiamata Javascript, ma è un POSTBACK di aspx. Il che vuol dire che i dati vengono generati lato server e non lato client con Javascript.

Per fare quello che vuoi (catturare dati da un altro sito) non credo che la soluzione migliore si Javascript ma ti conviene farlo un un linguaggio tipo VB.net o C#.net e le relative librerie del Framework.

Ma in realtà non ho ben capito quale vuoi che sia il tuo risultato finale, se vuoi semplicemente estrati in automatico un excel con quei dati o se, cliccando su un link del tuo sito, all'utente vengano visualizzati i dati letti da "fantagazzetta".
Considera comunque che, naturalmente, Javascript è un linguaggio lato client. Pertanto se decidi di autenticarti sul sito mediante javascript, chiunque accederà al tuo sito avrà accesso IN CHIARO alle tue credenziali.
Se il tuo obbiettivo è quello appena citato, allora indubbiamento il consiglio è di farlo lato server con pagine aspx (VB.net o C#.net che sia), oppure in php.... ...ma dato che siamo su dotnethell magari qualcuno si offende se parlo di php

Ciao-ciao

Cix Profilo | Newbie

-inanzitutto ti ringrazio , grazie a te, la tematica mi è più chiara .. devo semplicemnte scaricare dei file excel , la cui pagina di download varia a seconda dell'ultimo nuero 3..4...5

se ti colleghi alla pagina nell'altro trherad elencai magari ti sarà più chiaro... d'altra parte per scaricare questi file da questo dito bisogna autenticarsi (ecco il si to non è mio)

Diciamo che l'obiettivo è automatizzare i processo di downloa di quei file excel, magari tramite programmino in visual basic, o tramite php, non lo so io ho prov at o con visual basic e mi da Null referment" premesso che sicuramte ho sbagliato, però allora mi ci misi un bel pò di tempo, adesso ciò rinunciato perchè lo ritengo impossibile..... Ovietticvo è quello il come, può anche variare, e semmai puoi contattarmi direttamente a cix4@live.it, nel caso per regolamento è vietato postare php... cmq ti ringrazio perchè mi hai già aperto un orizzonte facendomi capire di cosa si tratta ,, GRAZIE MILLE ... spero potrei aiutarmi altrimenti fa niente, adesso scappa a pausa pranzo e chiedimi precisamente dei dati che hai bisgono o di spiegazioni e sono atua dispoizioen completa Ciao e GRazie ancora

MI SPIEGO EMGLIO IN UN ALTRO MODO

questi sono vari link che cambiano solo per lultima lettera, che poi è un numero, manulmente cliccando scarica un file excel da quell'indirizzo

io vorrei che automanticametne variasse quel numero da 1 a 38 e scaricasse atuoamticaente (mi basta gia questo)

(s epoi posso anche rinominare il file scaricato ben accetto)

però c'è una condizione i file da quel link, possono essere scaricati solo da utenti registrati tramite un auenticazione..... grazie :)

darken Profilo | Newbie

>-inanzitutto ti ringrazio , grazie a te, la tematica mi è più
>chiara .. devo semplicemnte scaricare dei file excel , la cui
>pagina di download varia a seconda dell'ultimo nuero 3..4...5
>
>se ti colleghi alla pagina nell'altro trherad elencai magari
>ti sarà più chiaro... d'altra parte per scaricare questi file
>da questo dito bisogna autenticarsi (ecco il si to non è mio)
>
>Diciamo che l'obiettivo è automatizzare i processo di downloa
>di quei file excel, magari tramite programmino in visual basic,
>o tramite php, non lo so io ho prov at o con visual basic e mi
>da Null referment" premesso che sicuramte ho sbagliato, però
>allora mi ci misi un bel pò di tempo, adesso ciò rinunciato
>perchè lo ritengo impossibile..... Ovietticvo è quello il
>come, può anche variare, e semmai puoi contattarmi direttamente
>a cix4@live.it, nel caso per regolamento è vietato postare php...
>cmq ti ringrazio perchè mi hai già aperto un orizzonte facendomi
>capire di cosa si tratta ,, GRAZIE MILLE ... spero potrei aiutarmi
>altrimenti fa niente, adesso scappa a pausa pranzo e chiedimi
>precisamente dei dati che hai bisgono o di spiegazioni e sono
>atua dispoizioen completa Ciao e GRazie ancora

Ciao,
allora, il problema non è esattamente banale.
Per il problema login puoi provare ad eseguire il programma dopo aver fatto il login tramite browser (senza chiudere Internet Explorer) inquanto in questo modo il tuo PC dovrebbe risultare avere la sessione attiva.
Il problema è che molti siti hanno delle verifiche per vedere da dove arrivano le richieste quindi vedendo che arriva da un "sito" esterno e non dall'interno ti blocca la richiesta.
Ma consideriamo che non sia questo il caso.

Non essegndo loggato io non posso vedere quall'è il risultato, se ti viene aperto direttamente il file excel o ti viene chiesto il suo download, puoi intercettare lo stream dei dati. Invece se il risultato è un a tabella HTML potresti provare a leggerne il contenuto com se fosse XML.
Io ti consiglio di provare con il secondo caso che sicuramente è più facile.

Puoi fare una chiamata HTTP come per l'esempio seguente:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Nella variabile "decodedString" dovresti avere il contenuto HTML della pagina WEB che vedresti a schermo.
Poi da li stà a te pulire la variabile dal codice che non ti serve.
Il codice messo è a titolo di esempio se fai copia incolla sicuramente c'è da aggiustare qualcosina.
Di consiglio di mettere qualche breakpoint in modo da poter vedere col debugger effetivamente la variabile cosa contiene.

Ciao

Cix Profilo | Newbie

ti ringrazio mille.... mi stai portando sempre più al traguardo.. e pensare ce mi ero arenato....

adesso mi manca una procedura che accetti il download,, e quel 3 che va da 1 a n ... però non ti preoccupare già hai fatto tanto grazie.. :)

darken Profilo | Newbie

Prego,
comunque per quel 3 che deve andare da 1 a n, basta che metti il tutto in un ciclo.

Per esempio:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Per la procedura che esegua il download, come dicevo prima, dipende dal tipo di dati che ti restituisce.
Se sono HTML, quella che ti ho scritto dovrebbe andare benone.
In alternativa dipende molto dal tipo di dati.

Spero di averti dato una mano.

Ciao

Cix Profilo | Newbie

mi ritorna la richiesta di scaricare un file excel

darken Profilo | Newbie

Allora prova una cosa del genere:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ecco la fonte:

http://www.developerfusion.com/tools/convert/csharp-to-vb/?batchId=454c8b6b-89c0-4764-a211-c3e5495f2048

Da qui in poi, "farina del tuo sacco"

Di materiale su cui ragionare, googelare ed elaborare per trovare la soluzione ne hai.

Ciao ciao ed alla prossima.

kreja Profilo | Newbie

Ciao,
Sei poi riuscito a farlo ?
Servirebbe anche a me :)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5