|
Авторизация и размещение поста на стене в группе ВКонтакте через CURL
#39147800
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
Участник
Откуда: Украина Одесская обл., Рени
Сообщения: 70
|
|
Всем привет. Столкнулся с проблемой размещения поста в группе ВКонтакте. Дело в том, что я так понял что через стандартный VK API это сделать нельзя, они по ходу запретили размещать посты с сайтов, только для мобильных приложений. Я решил попробовать размещать с помощью CURL но не получается авторизоваться... Помогите, может кто сталкивался.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79.
$login = '------------';
$password = '------------';
$curl = curl_init();
$browser = 'Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0';
$options = array(
CURLOPT_USERAGENT => $browser
,CURLOPT_COOKIEJAR => $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'
,CURLOPT_COOKIEFILE => $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'
,CURLOPT_URL => 'http://m.vk.com'
,CURLOPT_FOLLOWLOCATION => true
,CURLOPT_RETURNTRANSFER => 1
,CURLOPT_TIMEOUT => 3
);
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
// запрос делаем на мобильную версию ВКонтакте
preg_match('/ip\_h\=(.*?)\&/is', $response, $match);
preg_match('/lg\_h\=(.*?)\&/is', $response, $match2);
$ip_h = $match[1];
$lg_h = $match2[1];
// парсим ip_h lg_h
// echo '<p>'.$ip_h.'</p>';
// echo '<p>'.$lg_h.'</p>';
$data = array(
/*
'act' => 'login',
'_origin' => 'http://m.vk.com',
'role' => 'al_frame',
'expire' => '',
'captcha_sid' => '',
'captcha_key' => '',
'ip_h' => $ip_h,
'lg_h' => $lg_h,
*/
'email' => $login,
'pass' => $password
);
$url = 'https://login.vk.com/?act=login&_origin=http://m.vk.com&ip_h='.$ip_h.'&lg_h='.$lg_h.'&role=pda&utf8=1';
// формируем url
$options = array(
CURLOPT_USERAGENT => $browser
,CURLOPT_URL => $url
,CURLOPT_POSTFIELDS => http_build_query($data)
,CURLOPT_COOKIEJAR => $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'
,CURLOPT_COOKIEFILE => $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'
,CURLOPT_POST => 1
,CURLOPT_RETURNTRANSFER => 1
,CURLOPT_FOLLOWLOCATION => true
,CURLOPT_HEADER => 1
,CURLOPT_SSL_VERIFYPEER => 0
,CURLOPT_SSL_VERIFYHOST => 0
,CURLOPT_TIMEOUT => 3
);
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
curl_close($curl);
var_dump($response);
// вот тут мне возвращает строку http://m.vk.com/login?role=fast&to=&s=1&__q_hash=f3e48b2a3fdaea73774591a6e797e2d0
// и что делать дальше непонятно
// авторизация я так понял не проходит....
|
|
|