cURL мулти функция

spellsingero

Registered
Здравейте, искам да попитам има ли начин чрез cURL да се логне в даден сайт чрез POST заявка за login след което да вземе даден линк и да редиректне директно към него и всичко това в от една сесия на cURL, понеже до момента успях да го накарам да се логне, да вземе линка но след като му задам header location изписва че линкът е изтекъл. Ако изпълня това ръчно като се логна в сайта, видя сорса на страницата и си взема линка..той работи до 5 минути след като съм го взел... без значение от обстоятелствата, даже от различна сесия с друг браузър пак работи.. но вземе ли го cURL ... не работи и секунда..защо се получава така..

Ето го кода, който използвам:

<?php
$username="неквопотребителскоиме";
$password="неквапарола";
$url="http://www.hotfile.com/login.php";
$cookie="cookie.txt";

$postdata = "user=".$username."&pass=".$password;

$ch = curl_init();

$fp = fopen("cookie.txt", "w");
fclose($fp);

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:19.0) Gecko/19.0 Firefox/19.0");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);

echo $result;

$curl = curl_init();

// curl_setopt( $curl, CURLOPT_COOKIE, 'cookie.txt' );
// curl_setopt ($curl, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($curl, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt ($curl, CURLOPT_URL, "https://hotfile.com/dl/175618386/cd02b03/cURL_login.zip.html");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:19.0) Gecko/19.0 Firefox/19.0");


$result = curl_exec ($curl);
echo $result;
// echo $result;

//links
if(preg_match_all('#<td><a href="[^*]+;#is', $result, $links))
{
foreach($links[0] as $link)
{
// echo $link."<br />";
$edno=explode('a href="',$link);
$dve=explode('" class="click_download"',$edno[1]);
curl_close ($curl);

$a = $dve[0];
//header("Location: $a");
}
}



?>


къде е проблема :(
 

Горе