Запрос API Вк КУПЛЮ!!!Срочно
-
Куплю код для отправки сообщений из своего приложения за него даю + и 500 монет!в ЛС
-
что за код?
-
аааа ?? чего ?
-
сори где-то у меня было но забыл
-
ДоБрЕжеЛаТеЛь, Плз Найди Заплачу!!!
-
[spoiler=тут]<?php
/**- Скрипт для отправки сообщений на vk.com себе, через API
- Автор: @link http://phpdreamer.ru
- Дата: 18.02.2012
- Инструкция:
- установить в каталог на сервере, поменять параметры $secretString, $email,
- $password, $antigate и COOKIES на свои, сделать доступными для записи файлы
- COOKIES и captcha.jpg, проследить что есть файл antigate.php
- На аккаунте Вконтакте включить смс-оповещение о новых личных сообщениях.
- Для отправки себе сообщения - откройте адрес скрипта с параметрами:
- http://your_site/script_directory/index.php?message=Сообщение&secret=YourSecret
- где "your_site" - это домен вашего сайта
- "script_directory" - каталог со скриптом
- "Сообщение" - это текст сообщения (его желательно предварительно обработать php функцией urlencode)
- "YourSecret" - это строка, которую Вы указали в $secretString
- Пример:
- http://localhost/vkSms/index.php?message=Привет, Никита!&secret=24rg6-6ve33f_f432
*/
//проверочный параметр для защиты от вызова скрипта посторонними
$secretString = '24rg6-6ve33f_f432';
//данные для авторизации на vk.com
$email = '[email protected]';
$password = 'qwerasdf123456asdf';
//ключ API вашего аккаунта на сервисе antigate (для разрадывания картинок)
$antigate = '21436b269aa16d2b5c93c657b6fff208';
//временный файл для записи COOKIES, доступный для записи, но не доступный для скачивания
define('COOKIES', $_SERVER['DOCUMENT_ROOT'] . '/vkSms/cook.txt');// Подключаем антигейт
require 'antigate.php';
// Проверяем секретный параметр
if(!isset($_GET['secret']) || urldecode($_GET['secret']) != $secretString)
die('secretString Error');
// Получаем текст сообщения
$message = isset($_GET['message']) ? urldecode($_GET['message']) : 'Сообщение из PHP';// Функция для работы с cUrl
function curl(
$url,
$post='',
$headers=1)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $headers);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT,
'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.4');
curl_setopt($ch, CURLOPT_ENCODING, 'utf-8');
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 200);
if ($post)
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if (defined('COOKIES'))
{
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIES);
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIES);
}
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
// Чистим кукисы
file_put_contents(COOKIES, '');
// Идем за token-ом для API
$page = curl('http://api.vk.com/oauth/authorize?client_id=2810987&redirect_uri=http://api.vk.com/blank.html&scope=messages&display=page&response_type=token');if (preg_match_all('#<input type="hidden" name="([^"]+)" value="([^"]+)"#', $page, $hidden))
{ // Найдена форма для авторизации, извекаем hidden поля
$post = array(
'expire' => 0,
'email' => $email,
'pass' => $password,
);
foreach ($hidden[1] as $i => $hk)
$post[$hk] = $hidden[2][$i];
// Отправляем запрос для авторизации
$page = curl('https://login.vk.com/?act=login&soft=1', $post);
// Нажимаем на кнопку "Разрешить", если еще не нажали
if (preg_match('|function approve[^l]+location.href = "([^"]+)|m', $page, $approve))
$page = curl($approve[1]);
// Нам дали token
if (preg_match('|Location: http://api.vkontakte.ru/blank.html#access_token=([^&]+)&expires_in=[0-9]+&user_id=([0-9]+)|', $page, $data))
{ // Формируем url для отправки сообщения через API
$url = 'https://api.vkontakte.ru/method/messages.send?uid='
. $data[2] . '&message=' . urlencode($message)
. '&access_token=' . $data[1];
// Пробуем запрос на отправку сообщения
$page = curl($url);
// Попыток ввода капчи, на случай таковой
$try = 5;
while ( // Если с нас просят капчу
preg_match('|"captcha_sid":"([0-9]+)"|', $page, $c)
&& preg_match('|"error_msg":"Captcha needed"|', $page)
&& --$try > 0 // И попытки ввода еще остались
)
{ // Скачиваем капчу
file_put_contents(
'captcha.jpg',
curl('http://api.vk.com/captcha.php?sid=' . $c[1], 0)
);
// Разгадываем капчу и повторяем запрос
$page = curl($url . '&captcha_sid=' . $c[1] . '&captcha_key='
. recognize('captcha.jpg', $antigate, 0));
}//end while
}
else
echo 'Error on step 2';// Не найден token для Api
}
else
echo 'Error on Step 1'; // Не найдено формы для авторизации
// Чистим кукисы
file_put_contents(COOKIES, '');// Если отправка успешна
if (preg_match('|{"response":[0-9]+}|', $page))
echo 'TRUE'; [/spoiler]Добавлено через 00:37 мин.
-NegaTiv-, помоГ? -
те рассыл оповещений чтоль надо?