gmorpheus Posted January 4, 2012 Share Posted January 4, 2012 Salve a tutti, ho un grosso grattacapo nel realizzare uno script che mi dovrebbe permettere di accedere in automatico al back office, in sostanza dovrei accedere, andare in una tab qualunque e prendere i dati che mi servono (es: nuovi ordini). Tutto questo attraverso l'uso delle funzioni curl di php. Posto lo script: /* $location = "http://192.168.200.101/shop/gestione/login.php"; $location2 = "http://192.168.200.101/shop/gestione/index.php?tab=AdminImport&token=a47fefe368fa5a8c39e707eee5996a97";*/ //CURL SESSION $postFields = 'email='.urlencode('[email protected]').'&passwd='.urlencode('prestashop').'&Submit='.urlencode('Fai il login'); /************************************************************/ $cSession = curl_init(); //curl_setopt($cSession, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($cSession, CURLOPT_URL,$location); curl_setopt($cSession, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/10.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2'); curl_setopt($cSession, CURLOPT_HEADER, 1); curl_setopt($cSession, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cSession, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($cSession, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($cSession, CURLOPT_COOKIEJAR, '/var/www/cookies/cookied.txt'); curl_setopt($cSession, CURLOPT_COOKIEFILE, '/var/www/cookies/cookied.txt'); $cSessionResult = curl_exec($cSession); curl_close($cSession); unset($cSession); questa prima parte serve a prendere il cookie rilasciato da login.php e conservarlo nel file specificato. mi rilascia questo header: HTTP/1.1 200 OK Date: Wed, 04 Jan 2012 14:01:35 GMT Server: Power MOD by web4host.net Set-Cookie: 0ce3beb550fcd80fa4e2751c91d13df6=ttNZdBmLlUiACSL1lXEPqyWV%2Bb3qcz5yS5cd5nkJ5tY0PtGjMtJqvjtRpqyCZi5BvXkMFIkzR9%2F%2F43QagdXksg%3D%3D000060; expires=Tue, 24-Jan-2012 14:01:35 GMT; path=/e-shop/gestione/; domain=********(modificato da me); httponly Vary: Accept-Encoding,User-Agent Content-Length: 1369 Content-Type: text/html; charset=utf-8 $cSession = curl_init(); curl_setopt($cSession, CURLOPT_URL,$location); curl_setopt($cSession, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/10.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2'); curl_setopt($cSession, CURLOPT_HEADER, 1); curl_setopt($cSession, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cSession, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($cSession, CURLOPT_POST, 1); curl_setopt($cSession, CURLOPT_POSTFIELDS, $postFields); curl_setopt($cSession, CURLOPT_MAXREDIRS, 10); curl_setopt($cSession, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($cSession, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($cSession, CURLOPT_COOKIEJAR, '/var/www/cookies/cookied.txt'); curl_setopt($cSession, CURLOPT_COOKIEFILE, '/var/www/cookies/cookied.txt'); $cSessionResult = curl_exec($cSession); curl_close($cSession); unset($cSession); questa, invece, effettua il login, il problema è che non riesco ad accedere a nessuna tab ed il risultato è una pagina bianca, mentre l'header è un redirect alla pagina index.php che è presente nella stessa cartella dello script, mentre, dovrebbe essere sul server in remoto! Please help me! qualcuno ha già fatto qualcosa del genere??? ah la cartella dei cookie è 777. Link to comment Share on other sites More sharing options...
gmorpheus Posted January 4, 2012 Author Share Posted January 4, 2012 Probabilmente sarà un problema mio personale con le funzioni cURL perchè il fatto che faccia redirect su index.php indica che il login è stato effettuato! Link to comment Share on other sites More sharing options...
andreats Posted September 13, 2013 Share Posted September 13, 2013 ciao, hai risolto qualcosa con curl? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now