|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 75
|
[PHP] FOPEN esegue il download di una pagina diversa da quella indicata
Ciao ragazzi,
sto creando uno script particolare; fino ad ora tutto funzionava come avrebbe dovuto, ma oggi, provando ad eseguire il download di determinate pagine google per estrarne alcuni dati mi sono imbattuto in un problema. Con il comando FOPEN di PHP non riesco ad eseguire il download di alcune pagine in particolare, come ad esempio questa: http://www.google.com/movies?near=ro...cedce533e291ba Viene automaticamente scaricata un'altra pagina, come se il server rispondesse diversamente in base all'user agent o similie....Visualizzando il link da browser, la pagina è quella giusta, ma scaricandola tramite lo script, il contenuto è diverso. Come mai? Come posso risolvere? P.S. Sto lavorando in locale con EasyPHP. Il codice: Codice PHP:
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 75
|
Problema parzialmente risolto. Guardare commento successivo perfavore...
Ultima modifica di InsomNia_Italy : 12-06-2011 alle 20:39. Motivo: parzialmente risolto |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 75
|
Allora, sono riuscito ad isolare il problema.
Il problema è nel passaggio del link, ma non capisco perchè. Se eseguo il download della pagina indicando come parametro il link completo, il download viene effettuato correttamente. Se invece imposto come parametro "http://www.google.com" seguito dal restante link estratto dalla pagina precedente, viene effettuato il download di una pagina errata. Eppure confrontando i link sono identici, non cambia nulla, sia quello scritto completamente come parametro che quello ricavato. Come mai? Da cosa può dipendere? Grazie in anticipo!! Codice PHP:
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Il link che passi deve essere per forza di cose diverso, magari per qualche piccolo dettaglio che non hai notato. Prova ad incollarli entrambi qua e vediamo.
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 75
|
Ho anche provato a fare un confronto tra le due stringhe, la prima composta e la seconda con il link specificato da me.
Il risultato è che gli ECHO visualizzano la stessa identica cosa, mentre lo strcmp da -1 ed infatti, il download della pagina con $mezzolink1 NON FUNZIONA mentre quella con $mezzolink2 si.... Codice PHP:
Codice HTML:
#1#http://www.google.com/movies?near=roma&hl=it&ei=1XvzTfLhJoeEOq29xLUH&view=list&sort=1&mid=dbcedce533e291ba# #2#http://www.google.com/movies?near=roma&hl=it&ei=1XvzTfLhJoeEOq29xLUH&view=list&sort=1&mid=dbcedce533e291ba# -1 ho anche provato ad aggiungere il terminatore di stringa, a fare il cast con (string) ma nulla, ottengo sempre lo stesso risultato |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 75
|
Ho risolto grazie a htmlspecialchars_decode.
Mi sono accorto di cosa succedeva convertendo le due stringhe in esadecimale e da esadecimale nuovamente in stringa. Ho notato che i caratteri & venivano sostituiti con & e simili. Ora con il semplice htmlspecialchars_decode ho risolto tutto |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:54.



















