Kolega Reptile ReX opracował taki oto kod:
<?php function AllegroLogin($User, $Password) { /** Pobranie Nagłówka wysyłanego przez serwer **/ $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, 'http://allegro.pl/myaccount/index.php'); curl_setopt($cURL, CURLOPT_TIMEOUT, 30); curl_setopt($cURL, CURLOPT_REFERER, 'http://allegro.pl/'); curl_setopt($cURL, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0'); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($cURL, CURLOPT_HEADER, 1); curl_setopt($cURL, CURLOPT_NOBODY, 1); $Source = curl_exec($cURL); curl_close($cURL); /** Wyciąganie niezbędnych danych z nagłówka **/ preg_match('@session=(.+)&global_login_hash=(.+)&session_login_hash=(.+)&url=(.+)&cod=(.+)@', $Headers[1], $Result); /** Logowanie z użyciem danych z nagłówka **/ $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, 'https://ssl.allegro.pl/login.php'); curl_setopt($cURL, CURLOPT_TIMEOUT, 30); curl_setopt($cURL, CURLOPT_COOKIESESSION, 1); curl_setopt($cURL, CURLOPT_COOKIEFILE, 'cookies.txt'); curl_setopt($cURL, CURLOPT_COOKIEJAR, 'cookies.txt'); curl_setopt($cURL, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0'); curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($cURL, CURLOPT_REFERER, 'https://ssl.allegro.pl/enter_login.php'); curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($cURL, CURLOPT_POST, 1); curl_setopt($cURL, CURLOPT_POSTFIELDS, 'session=' . $Result[1] . '&global_login_hash=' . $Result[2]. '&session_login_hash=' . $Result[3] . '&url=' . $Result[4] . '&cod=' . $Result[5] . '&request_server=ssl.allegro.pl&user_login=' . $User . '&user_password=' . $Password); curl_exec($cURL); curl_close($cURL); } ?>
Niestety z jakiegoś powodu nie działa on poprawnie, - wyświetla mi tylko strone allegro. Dlaczego tak się dzieje?