Open roberto-arista opened 7 years ago
Ciao, sono un po' arrugginito, perché è da tanto che non faccio nulla in ambito di programmazione e di questo "progetto" ricordo poco o nulla, però ho recuperato il codice che usavo inizialmente e questo è il formato data che invio: treni.zip
2017-02-16T09:30:00
codice per generare l'url:
$url='http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/soluzioniViaggioNew/'.urlencode($_POST['staP']).'/'.urlencode($_POST['staA']).'/'.urlencode($_POST['dataP']);
risultato:
http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/soluzioniViaggioNew/1700/5014/2017-02-16T09%3A30%3A00
Thanks, you made my day :)
Quindi se capisco bene, la query per le partenze di domani mattina dalle 9:30 dalla stazione di Alessandria dovrebbe essere:
http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/partenze/S00470/2017-02-03T09%3A30%3A00
In compenso ottengo come messaggio:
Error 400: Unable to extract parameter from http request: javax.ws.rs.PathParam("orario") value is '2017-02-03T09:30:00' for public java.util.List it.trenitalia.viaggiatreno.service.ViaggiaTrenoService.getPartenze(java.lang.String,java.util.Date)
Ho interpretato male i tuoi appunti o è stato cambiato qualcosa nelle API di viaggiatreno dai tempi del tuo studio? Forse come input bisogna dare un intervallo di tempo invece che un orario specifico?
Nel php (lavoro in Python solitamente, quindi lo interpreto con molta fatica), mi sembra di capire che c'è anche un attributo tz $dateS=date('D M d Y H:i:s ').$_POST['tz'];
da agganciare alla query.
È per caso una timezone? Potrebbe essere quello l'errore?
Sì, è chiaro. L'ho già messo online e provato. Il problema è che non c'è risultato per arrivi e partenza da una stazione.
Arrivano dati in merito alla ricerca dei nomi stazione, ma nessuno relativo ad arrivi e partenze.
Le soluzioni di viaggio invece funzionano senza problemi.
Ok, scusa, non avevo capito a cosa ti stessi riferendo esattamente: da js passo come parametri la stazione e la timezone(tz
) ricavata dal pc, invece in php attacco la data e ora attuale in questo formato:
Wed Jan 07 2015 18:58:25 GMT+0100 (ora solare Europa occidentale)
$dateS=date('D M d Y H:i:s ').$_POST['tz'];
Reference: Date php
Quindi risultato:
..../viaggiatrenonew/resteasy/viaggiatreno/partenze/S00470/Fri%20Feb%2003%202017%2010:37:21%20GMT+0100%20(ora%20solare%20Europa%20occidentale)
Inoltre mi sono accorto che c'è un url diverso:
...viaggiatrenonew/resteasy/viaggiatreno/partenze/...
thanks, ti faccio sapere se riesco! ––– Roberto Arista ಠ_ಠ ––– Mobile (IT): +39 366 45 37 413 ––– My public PGP key is here http://projects.robertoarista.it/robertoArista_publicKey.txt –––
Il giorno 03/feb/2017, alle ore 10:51, Luca Grandi notifications@github.com ha scritto:
Ok, scusa, non avevo capito a cosa ti stessi riferendo esattamente: da js passo come parametri la stazione e la time zone ricavata dal pc, invece in php attacco la data e ora attuale in questo formato poi allegare all'url: Wed Jan 07 2015 18:58:25 GMT+0100 (ora solare Europa occidentale)
$dateS=date('D M d Y H:i:s ').$_POST['tz']; Reference: Date php https://secure.php.net/manual/it/function.date.php Quindi risultato: ..../viaggiatrenonew/resteasy/viaggiatreno/partenze/S00470/Fri%20Feb%2003%202017%2010:37:21%20GMT+0100%20(ora%20solare%20Europa%20occidentale) Inoltre mi sono accorto che c'è un url diverso: ...viaggiatrenonew/resteasy/viaggiatreno/partenze/...
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Razorphyn/Informazioni-Treni-Italiani/issues/1#issuecomment-277206864, or mute the thread https://github.com/notifications/unsubscribe-auth/ACHa2PepJ3MFFvqkZwGyVX40SMD6kCKJks5rYviEgaJpZM4L1TOn.
Stavo riguardando il codice, che schifo, è pieno di errori, sistemo e ti invio tutto di nuovo
Fatto, la risposta la vedi nella console e l'url viene stampatao nel file: php/url
(così puoi controllare da web la risposta),
treni.zip
"Partenze e arrivi" ancora non mi funziona e l'url stampato nel file 'url' mi da come risultato []
Però se aggiusto la data dell'esempio che hai postato un paio di commenti più sopra in questo modo
http://viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/partenze/S00470/Sat%20Feb%2004%202017%2012:00:00%20GMT+0100%20(ora%20solare%20Europa%20occidentale)
funziona!
Il rpoblema è come gestisco il codice stazione:
index.php riga 195:
var staP=$(this).parent().parent().parent().find('select.stazionePartenza').val().replace(/^\s*|\s*$/gmi, ''),
In pratica ho rimosso .replace(/[\D]/gmi, '')
php/call.php riga 67-68
$urlArrivi='http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/partenze/'.rawurlencode ($_POST['staP']).'/'.rawurlencode ($dateS);
$urlPartenze='http://www.viaggiatreno.it/viaggiatrenonew/resteasy/viaggiatreno/arrivi/'.rawurlencode ($_POST['staP']).'/'.rawurlencode ($dateS);
In pratica da js tiravo via S e facevo un parseInt e quindi il codice stazione cambiava in modo "ignoto"(bisogna controllare il numero di cifre e aggiungere S
e nel caso 0
, troppo lungo per una demo).
Questo funziona:
/partenze/S00470/Sat%20Feb%2004%202017%2011%3A36%3A18%20GMT%2B0100
Ciao Scusate se intervengo, ma per quanto riguarda i treni italotreno si riesce ad avere delle API? Grazie
Ciao! Prima di tutto grazie per aver pubblicato questo materiale, c'è veramente poco o niente online.
Sto tentando di scaricare dei dati relativi ad arrivi e partenze di una determinata stazione. Quello che non mi torna è il formato data che hai indicato nel file README.md:
[FORMATO: Wed Jan 07 2015 18:58:25 GMT+0100 (ora solare Europa occidentale)]
Come lo trasformo in URL per scaricare i dati? Potresti fare un esempio funzionante?
Grazie