Witam,

jak zalogowac sie na strone, a pozniej pobrac inne dane (jakie sa dostepne tylko po zalogowaniu) z podstrony?

Zmontowalem cos takiego, ale nie dziala:

Cytat
<?php

$x = array(
'url' => 'http://www.symultana.org/users/login',
'referer' => 'http://www.symultana.org/users/search/&where=IFdIRVJFIGBzdGF0dXNgPD4y&page=1',
'post' => 'user_login=andypsv@xernt.com&amp;user_pass=ZMIENIC',
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $x['url']);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, isset($z['post']));
if(isset($x['post'])) curl_setopt($ch, CURLOPT_POSTFIELDS, $x['post'] );
if(isset($x['refer'])) curl_setopt($ch, CURLOPT_REFERER, $x['refer'] );

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$result=curl_exec($ch);
if($result === false)
{
echo '<br/>Curl error: '.curl_error($ch);
curl_close($ch);
exit;
}

var_export($result);
curl_close($ch);

?>


Moglby ktos to poprawic?


-----------------------------------------------------------------------------------


Nie pobiera tresci z referrer, bo nie jest zalogowany.

Zrobilem konto, oto skrypt (z danymi):

Kod
<?php

$x = array(
'url' => 'http://www.symultana.org/users/login',
'referer' => 'http://www.symultana.org/users/search/&where=IFdIRVJFIGBzdGF0dXNgPD4y&page=1',
'post' => 'user_login=andypsv@gmail.com&amp;user_pass=test12345',
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $x['url']);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, isset($x['post']));
if(isset($x['post'])) curl_setopt($ch, CURLOPT_POSTFIELDS, $x['post'] );
if(isset($x['refer'])) curl_setopt($ch, CURLOPT_REFERER, $x['refer'] );

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$result=curl_exec($ch);
if($result === false)
{
echo '<br/>Curl error: '.curl_error($ch);
curl_close($ch);
exit;
}

var_export($result);
curl_close($ch);

?>



Prosze o pomoc, dziekuje.

Poprawilem o ukryte. Co zrobic by dzialalo?

  1. <?php
  2.  
  3. $x = array(
  4. 'url' => 'http://www.symultana.org/users/login',
  5. 'referer' => 'http://www.symultana.org/users/search/&where=IFdIRVJFIGBzdGF0dXNgPD4y&page=1',
  6. 'post' => 'user_login=andypsv@gmail.com&amp;user_pass=test12345&amp;screw_you_curl=back_off&amp;screw_you_curl2=back_off_jerk&amp;link=/users/login&amp;user_login=x',
  7. );
  8.  
  9. $ch = curl_init();
  10. curl_setopt($ch, CURLOPT_URL, $x['url']);
  11. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  14. curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  15. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  16. curl_setopt($ch, CURLOPT_POST, isset($x['post']));
  17. if(isset($x['post'])) curl_setopt($ch, CURLOPT_POSTFIELDS, $x['post'] );
  18. if(isset($x['refer'])) curl_setopt($ch, CURLOPT_REFERER, $x['refer'] );
  19.  
  20. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  21. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
  22. $result=curl_exec($ch);
  23. if($result === false)
  24. {
  25. echo '<br/>Curl error: '.curl_error($ch);
  26. curl_close($ch);
  27. }
  28.  
  29. var_export($result);
  30. curl_close($ch);
  31.  
  32. ?>