Witam
Robię skrypt do pobierania plików z serwisu Fileserve.com. Jednak mam problem z cookie, zalogowałem się po przez Curl i pobrałem cookie. Przekazałem cookie po przez Curl odwiedzając stronę z plikiem, niestety wyświetlając stronę widzę, że nie loguje mnie.
Mój kod:
<?php
/*
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
error_reporting(E_ALL);
*/
$adres = 'http://fileserve.com/login.php';
$login = 'mojloginpremium';
$haslo = 'mojehaslopremium';
$post["autoLogin"] = true;
$post["loginUserName"] = $login;
$post["loginUserPassword"] = $haslo;
$post["loginFormSubmit"] = "LOGIN";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://fileserve.com/login.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.fileserve.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt
($ch, CURLOPT_HTTPHEADER
, array('Expect:')); $site1 = curl_exec($ch);
curl_close($ch);
list
($z1,$z2) = explode('Set-Cookie:', $site1); list
($y1,$y2) = explode('; expires', $z2); preg_match("/cookie=[a-zA-Z0-9%]+/i", $result, $matches); $cookie2= $matches[0];
$ch = @curl_init();
$url = 'http://www.fileserve.com/file/tGzysvx/test.txt';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $y1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie2);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 30);
//curl_setopt($ch, CURLOPT_INTERFACE, $ip );
echo $page = curl_exec
( $ch); curl_close($ch);
?>
Mogę udostępnić na PW dane do konta jeżeli ktoś chciałby pomóc i sprawdzając u siebie kod.