Ho creato una classe in php, che dopo aver effettuato un login, prende il cookie "auth" e lo ri-invia in un'altra richiesta GET per ricevere dati ottenebili solo se loggato:
Lo script, essendo semplice funziona, ma non appena lo metto su un hosting particolare, non funziona più...
Ho provato prima con il cURL, poi con il file_get_contents, ora con il fopen, ma continua a funzionare solo in locale, in altri hosting (come network solutions) ma sul terzo hosting no.
Posto il codice, magari può servire
Codice PHP:
function login(){
curl_setopt( $this->ch, CURLOPT_URL, "http://urldelsito/ajax/login.php?lang=en&user=".$this->username."&pass=".$this->password );
curl_setopt( $this->ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $this->ch, CURLOPT_HEADER, 1 );
$output = curl_exec( $this->ch );
preg_match( '#auth=(.+?);#is', $output, $m );
$auth = $m[ 1 ];
$this->auth = $auth;
if( $output == 'OK' ){
return true;
}else{
return false;
}
}
function parseLink( $link ){
curl_setopt( $this->ch, CURLOPT_COOKIE, "auth=".$this->auth.";" );
curl_setopt( $this->ch, CURLOPT_URL, "http://urldelsito/ajax/deb.php?sl=1&link=".urlencode( $link ) );
curl_setopt( $this->ch, CURLOPT_HEADER, 0 );
$output = curl_exec( $this->ch );
return $output;
}
Ricordo che il codice funziona, ma non ovunque...
Aggiungo anche le impostazioni del php.ini
codice:
default_charset = "utf-8"
allow_url_fopen = 1
max_execution_time = 99999999
output_buffering = On
magic_quotes_gpc = On
session.use_cookies = 1
session.cookie_lifetime = 0
safe_mode = Off
safe_mode_gid = Off
max_input_time = 60
e il link al phpinfo()
phpinfo()
Sarei felice se qualcuno riuscisse ad aiutarmi, grazie..