Зафрендить в livejournal.com через cURL (need help)

Статус
В этой теме нельзя размещать новые ответы.

Yyury2

Создатель
Регистрация
9 Июл 2008
Сообщения
32
Реакции
13
Как добавить друга в Livejournal через cURL?
Написал скрипт авторизации в LJ и перехода на страницу под своим логином. Наткнулся на проблему.
Хочу добавить друга. Захожу через броузер в жж и перехожу к примеру на стр:
Для просмотра ссылки Войди или Зарегистрируйся
В снифере получаю значения. Там много полей, но меня интересует только поле 'Добавить' или 'Add' И что же мы видим?

5764db279556.jpg


В поле Name там пусто. Как же тогда отправить POST запрос ? Есть вообще решение этой задачи на PHP?
Код авторизации и перехода на стр. добавления:

PHP:
  <?php
 function post($url,$post,$refer) 
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
curl_setopt($ch, CURLOPT_REFERER, $refer);   
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook1"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result  = curl_exec($ch);
return $result; 
}
 function get($url2)
{
$curl = curl_init($url2);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_REFERER, $refer); 
curl_setopt($curl, CURLOPT_COOKIEJAR, "./cook1");
curl_setopt($curl, CURLOPT_COOKIEFILE, "./cook1");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result  = curl_exec($curl); 
return $result;
}
$result = post('http://www.livejournal.com/logout.bml','user=ypsasauckraxjwg&action:killall=1','http://www.livejournal.com/'); 
$result = post('http://www.livejournal.com/login.bml','ret=1&lj_form_auth='.$lj_form_auth[1].'&user=ypsasauckraxjwg&password=6685904&action:login=%D0%92%D1%85%D0%BE%D0%B4+%D0%B2+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83...','http://www.livejournal.com/');
$result = get('http://www.livejournal.com/friends/add.bml?user=e_grishkovets');
$result = iconv("UTF-8","Windows-1251",$result); 
echo $result;  
?>

Подскажите, пожалуйстат, в каком направлении копать ?
 
читай про Для просмотра ссылки Войди или Зарегистрируйся
PHP:
<?php
$login='';
$pass='';
$ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR,realpath(".").'/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE,realpath(".").'/cookies.txt');
    curl_setopt ($ch, CURLOPT_USERAGENT, "MOT-A-1C/01.01 UP.Browser/7.0.0.2.c.1.104 (GUI) MMP/2.0 UP.Link/5.1.2.16");
    curl_setopt($ch,CURLOPT_VERBOSE,1);
    curl_setopt($ch, CURLOPT_URL,"http://www.livejournal.com/interface/flat");
    $POST="mode=editfriends&user=".$login."&password=".$pass."&editfriend_add_2_user=zcfd";
    curl_setopt($ch, CURLOPT_POSTFIELDS,$POST);
    curl_exec ($ch);

?>
 
Фигасе, так просто. А я столько голову ломал, блин. Надо ж сколько в жж подводных камней:ay:
 
А как вступить в сообщество? Там я так понимаю только на perl (через communitylib.pl) ?
Может есть на php решение?
 
Почитай наконец
Скрытое содержимое доступно для зарегистрированных пользователей!

+ если у тебя уже есть реализация этой функции - открой исходник ( communitylib.pl ) и посмотри, хотя я так понимаю это описание функции самого движка
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху