Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

1 (edited by Avice 2012-01-05 21:27:22)

Topic: cURL problemos

Taigi pasidariau koda kuri prisijungia prie puslapio , veiskas veikia tik yra viena problema.

<?php
$sessions = curl_init();
curl_setopt($sessions,CURLOPT_URL,'http://blogas.eu/phpf/');
curl_setopt($sessions, CURLOPT_POST, 1);
curl_setopt($sessions,CURLOPT_POSTFIELDS,'user_name=avice&user_pass=********&remember_me=y&login=Prisijungti');
curl_setopt($sessions,CURLOPT_COOKIEJAR,
dirname(__FILE__).'/cookie.txt');
curl_setopt($sessions,CURLOPT_FOLLOWLOCATION,0);
curl_setopt($sessions, CURLOPT_HEADER , 1);
curl_setopt($sessions, CURLOPT_RETURNTRANSFER,1);
$my_load_page = curl_exec($sessions);

curl_setopt($sessions, CURLOPT_URL, 'http://blogas.eu/phpf/news.php');
$failas = curl_exec ($sessions);
echo $failas;
?>

Kai pavyksta prisijungimas nukelia i manoadresas.lt/setuser.php?user=Avice
o man reikia jog nukeltu i http://blogas.eu/phpf/setuser.php?user=Avice ir butu prisijunges.
Kur blogai?

Re: cURL problemos

Ieškočiau problemos sausainiuose, dokumentacijoje pateikti iš viso 3 parametrai susiję su jais, tai manau verta juos išbandyti.
Taip nereikia atmesti varianto, kad bandoma tikrinti user-agent, kuris nenurodytas.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: cURL problemos

Taip, pirmas dalykas tai 100% įsitikinti, kad "prisijungimas" tikrai įvyko, ar sukurta reikiama sesija, ar visi duomenys išsaugoti cookyje ir pan. Taip pat pasitikrinčiau, ar vykdant antą curl_exec() funkciją liko galioti ir kai kurie nustatymai iš pirmojo kvietimo...

4 (edited by Avice 2012-01-06 15:12:10)

Re: cURL problemos

si funkcija curl_setopt($sessions,CURLOPT_FOLLOWLOCATION,1); neveikia del safe_mode kažkokio. <-Tai gal del sito normaliai neveikia?
i cookie.txt gaunu:

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

blogas.eu    FALSE    /    FALSE    1357328058    fusion_visited    yes

Ir kaip patikrint ar liko nustatymai ir t.t.?

EDIT:
googlinau kol radau puikiai veikinati koda:

<?php
    $tmp_fname = tempnam("/tmp", "COOKIE");
 
    $curl_handle = curl_init ("http://blogas.eu/phpf/login.php");
 
    curl_setopt ($curl_handle, CURLOPT_COOKIEJAR, $tmp_fname);
    curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, true);
 
    $post_array = array('user_name' => 'avice', 'user_pass' => '******', 'remember_me' => 'y', 'login' => 'Prisijungti');
 
    curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post_array);
 
    $output = curl_exec ($curl_handle);
 
    $curl_handle = curl_init ("http://blogas.eu/phpf/login.php");
    curl_setopt ($curl_handle, CURLOPT_COOKIEFILE, $tmp_fname);
    curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, true);
 
    $output = curl_exec ($curl_handle);
 
    echo $output;

?>

Gal kamnors pravers ;]