Как получить список друзей вк

Discussion in 'PHP' started by Muhammad25, 7 May 2014.

  1. Muhammad25

    Muhammad25 New Member

    Joined:
    1 Dec 2013
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    <?php //Функция парсинга function wparse($s, $starts, $ends){ * *$result=substr($s, strpos($s, $starts)+strlen($starts), strpos($s, $ends)-strpos($s, $starts)-strlen($starts)); * *return $result; } * $mail=''; //E-mail $pass=''; //Пароль $v='1'; $url='https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username='.$mail.'&password='.$pass; $useragent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'; $cookiesfile='cookie.txt';//Файл cookie //Авторизация $ch = curl_init(); curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);// обнуляем куки curl_setopt ($ch , CURLOPT_USERAGENT , $useragent);* curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); $result=curl_exec($ch); curl_close($ch); $token=wparse($result, '{"access_token":"', '","expires_in"');//Парсинг токена $uid=wparse($result, '"user_id":', '}')//Парсинг id echo 'result: '.$result; echo '<br>token: '.$token; echo '<br>uid: '.$uid; echo '<br>v: '.$v.'<br>'; $url = 'http://vk.com/friends'; //Внизу пытаюсь получить страницу со списком друзей $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); $html = curl_exec($ch); curl_close($ch); //Но ничего не выходит echo htmlspecialchars($html); echo $html; ?>

    В итоге приходит:

    result: HTTP/1.1 200 OK Server: nginx/1.2.4 Date: Tue, 06 May 2014 13:02:55 GMT Content-Type: application/json Content-Length: 139 Connection: keep-alive X-Powered-By: PHP/3.5824 Pragma: no-cache Cache-control: no-store {"access_token":"1fe2ba142ebaec937e6ecb7113fb4c00c411d167a79 4a8a52cae4305a4a635c5bf6db4b68e2191xxxxxxx","expires_in":0," user_id":210154979}
    token: 1fe2ba142ebaec937e6ecb7113fb4c00c411d167a794a8a52cae4305a4a6 35c5bf6db4b68e2191xxxxxxx
    uid: 210154979
    v: 1

    И никак не могу добиться, чтобы пришел исходный код страницы с друзьями.
     
  2. Muhammad25

    Muhammad25 New Member

    Joined:
    1 Dec 2013
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Не удалось нормально скопировать код, вот код код на cyberforum:

    http://www.cyberforum.ru/php-network/thread1168236.html#post6135652
     
  3. ^NSA^

    ^NSA^ Elder - Старейшина

    Joined:
    3 Jul 2012
    Messages:
    64
    Likes Received:
    29
    Reputations:
    32
    токен не нужен .
     
  4. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    используйте класс для работы с апи вк
    http://habrahabr.ru/sandbox/57993/
     
  5. Muhammad25

    Muhammad25 New Member

    Joined:
    1 Dec 2013
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Хотелось бы рааботать как браузер, т.е. эмултировать его работу.

    Для этого нужен хотя бы один рабочий пример. На cyberforum подсказали сохранить куки, что я и делаю, а как их передать я не знаю
     
  6. Jokero

    Jokero Member

    Joined:
    18 Jun 2010
    Messages:
    12
    Likes Received:
    9
    Reputations:
    2
    С помощью api функции friends.get делаешь запрос на список друзей пользователя(параметр user_id). Токен здесь не требуется. Дополнительные параметры сможешь посмотреть в документации(ссылка выше).

    Далее после получения данных декодируешь(если json) и используешь в своих потребностях.
     
  7. m1lq

    m1lq New Member

    Joined:
    19 Jan 2014
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    я просто оставлю это тут))
    (это не пхп, это родной curl на баше, исправить под пхп я думаю не очень трудно)
    Code:
    #!/bin/bash
    EMAIL="[email protected]"
    PASSWORD="my_super_secret_pw"
    USERAGENT="Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20110529 Firefox/4.0"
    
    # Пытаешся залогинится и сохраняешь куки
    curl -A "$USERAGENT" -c /tmp/vklogin.cookie -d "pass=$PASSWORD&email=$EMAIL" http://login.vk.com/?act=login -L 2>&1| iconv -f 'cp1251' -t 'utf8' > /tmp/vklogin
    
    # Используешь полученные куки (например открыв страницу диалогов)
    curl -A "$USERAGENT" -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vk.com/im -L 2>&1| iconv -f 'cp1251' -t 'utf8'
    p.s. iconv - перекодировка текста для читабельности (можно убрать если все ок без нее будет)
     
    #7 m1lq, 25 Jun 2014
    Last edited: 25 Jun 2014
  8. YURBAN

    YURBAN New Member

    Joined:
    31 Oct 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Обратись к этим ребятам, они делают парсеры с VK (мониторинг друзей, парсеры видео и прочих записей с контакта)
    Дотошные, но делают качественно
    http://www.code-byte.ru/contacts