<?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 И никак не могу добиться, чтобы пришел исходный код страницы с друзьями.
Не удалось нормально скопировать код, вот код код на cyberforum: http://www.cyberforum.ru/php-network/thread1168236.html#post6135652
Хотелось бы рааботать как браузер, т.е. эмултировать его работу. Для этого нужен хотя бы один рабочий пример. На cyberforum подсказали сохранить куки, что я и делаю, а как их передать я не знаю
С помощью api функции friends.get делаешь запрос на список друзей пользователя(параметр user_id). Токен здесь не требуется. Дополнительные параметры сможешь посмотреть в документации(ссылка выше). Далее после получения данных декодируешь(если json) и используешь в своих потребностях.
я просто оставлю это тут)) (это не пхп, это родной 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 - перекодировка текста для читабельности (можно убрать если все ок без нее будет)
Обратись к этим ребятам, они делают парсеры с VK (мониторинг друзей, парсеры видео и прочих записей с контакта) Дотошные, но делают качественно http://www.code-byte.ru/contacts