|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2006
Messaggi: 86
|
[PHP] - Problema con Curl e CURLOPT_FOLLOWLOCATION
Ciao a tutti
ho una classe (non fatta da me) che uso per recuperare dei dati da una pagina web Codice PHP:
Codice PHP:
il nuovo spazio ha open_basedir attivata (per sicurezza) e safe_mode disattivato. a causa del open_basedir attiva la seguente riga della classe va in errore: Codice PHP:
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/xyz/public_html/xyz/include/function.php on line 129 di questo errore se ne parla ampiamente su php.net (http://us2.php.net/manual/en/functio...opt.php#102121) ho chiesto al provider se è possibile (non ci speravo ![]() mi hanno detto che una soluzione è presente qui: http://simone.cabrino.it/blog/php-er...ollowlocation/ in sostanza viene suggerita una funzione per ovviare al problema. questa: Codice PHP:
La funzione curl_exec_redir($ch) ritorna un’array a 4 dimensioni, contenente il numero di loop (redirect) effettuati [posizione 0], le informazioni sull’ultima interrogazione al server di destinazione [posizione 1], i dati (header e corpo della pagina) dell’ultima chiamata [posizione 2] e eventuali codici o stati d’errore [posizione 3]. adesso, vorrei provare ad usarla, ma già non avevo capito come agicva Curl, figuriamoci se ho capito come/dove usare la funzione. Non è che mi dareste una piccola mano ? (lascio inoltre sia il problema che eventuale soluzione qui, caso mai qualcun' altro avesse lo stesso problema) Grazie Web.
__________________
Wm1 |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2006
Messaggi: 86
|
speravo non fosse così difficile....
;(
__________________
Wm1 |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Nov 2006
Messaggi: 86
|
Risolto
lascio qui la soluzione, nel caso serevisse ad altri ho integrato la funzione nello script ho modificato la classe, cambiando la riga $out = curl_exec($ch); in : $out = curl_redir_exec($ch); ho modificato lo script, nella riga in cui memorizza i risultati in una variabile. questo eprchè adesso non ottengo più la pagina, ma un array il contenuto della pagina (quello che mi interessa) è nell' indice 2 quindi ho cambiato la riga $csv_file = $browser->http_get('http://www.xxx.it'); in $csv_iside_array = $browser->http_get('http://iside.rm.ingv.it/iside/download?export=1&type=csv&data=EVENTS'); e qindi aggiunto: $csv_iside = $csv_iside_array[2]; Web
__________________
Wm1 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:14.