Podejzewam ze strona trzyma logowanie w sesji, a drugie wywolanie traci sesje i dupa blada.
Korzystam z takiego kodu:
function curl_login($url,$data){ $login = curl_init(); curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($login, CURLOPT_TIMEOUT, 40); curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($login, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($login, CURLOPT_USERPWD, 'xxxxx:xxxxxx'); curl_setopt($login, CURLOPT_URL, $url); curl_setopt($login, CURLOPT_HEADER, TRUE); curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($login, CURLOPT_POST, TRUE); curl_setopt($login, CURLOPT_POSTFIELDS, $data); return curl_exec ($login); // execute the curl command curl_close ($login); } function curl_grab_page($site){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_URL, $site); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields) ); return curl_exec ($ch); // execute the curl command curl_close ($ch); } curl_login('http://xxxxxxxxxx/index.jsp?oper=login','');
Czy jezeli sie nie myle i strona logowanie trzyma w sesji to jest jakas szansa na pobranie danych ktore mnie interesuja?