Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

POST запрос на mail.php ВКонтакте

54K
25 декабря 2009 года
LonRv
4 / / 25.12.2009
Приветствую всех. Я пишу новостную рассылку ВКонтакте для своих юсеров (в ЛС) (не спам), и столкнулся с проблемой. Скрипт успешно авторизируется, переходит на страницу mail, извлекает secure, chas, photo, но не отправляет само сообщение. Пост параметры были получены путём дописывания в hosts 127.0.0.1 vkontakte.ru. Запрос возвращает пустую страницу. В чём может быть проблема? Заранее спасибо!

код собсно
Код:
$CURL = curl_init();

curl_setopt ($CURL, CURLOPT_URL, 'http://vkontakte.ru/login.php');
curl_setopt ($CURL, CURLOPT_FAILONERROR, 1);
curl_setopt ($CURL, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($CURL, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_POSTFIELDS, 'email=avatar-forum@ua.fm&pass=Fi28rDGjf3138jf&expire=1');
$Result = curl_exec ($CURL);

curl_setopt($CURL, CURLOPT_URL, "http://vkontakte.ru/mail.php?act=write&to=37771474");
curl_setopt($CURL, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_RETURNTRANSFER, 1);
$Result  = curl_exec($CURL);

preg_match_all ('/name\=\"secure\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$secure = $Values_Array[1][0];

preg_match_all ('/name\=\"chas\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$chas = $Values_Array[1][0];

preg_match_all ('/name\=\"photo\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$photo = $Values_Array[1][0];

curl_setopt($CURL, CURLOPT_URL, "http://vkontakte.ru/mail.php");
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_POSTFIELDS, 'act=sent&ajax=1&secure='.$secure.'&chas='.$chas.'&photo='.$photo.'&to_id=37771474&to_reply=0&title=blah&message=blah blah');

$Result  = curl_exec($CURL);
echo $Result;
56K
02 января 2010 года
maximmazurenko
4 / / 01.01.2010
Попробуй еще передавать misc и toFriends с пустыми параметрами.
54K
05 января 2010 года
LonRv
4 / / 25.12.2009
спасибо за совет, но не помогло:(
92
05 января 2010 года
Тень Пса
2.2K / / 19.10.2006
Цитата: LonRv
Приветствую всех. Я пишу новостную рассылку ВКонтакте для своих юсеров (в ЛС) (не спам), и столкнулся с проблемой. Скрипт успешно авторизируется, переходит на страницу mail, извлекает secure, chas, photo, но не отправляет само сообщение. Пост параметры были получены путём дописывания в hosts 127.0.0.1 vkontakte.ru. Запрос возвращает пустую страницу. В чём может быть проблема? Заранее спасибо!

код собсно


хоть пароль и мыло замени фэйковыми.... а то нашёл где выложить )

56K
05 января 2010 года
maximmazurenko
4 / / 01.01.2010
Тот "chas" который ты выдерешь со страницы не есть "chas" потому что он кодируется скриптом на странице и посылается перекодированый результат.(я тоже столкнулся с этой проблемой)
Вот сам скрипт на JS:
Код:
window.dec_hash = function(hash) {
  (function(_){window.decoded_hashes[_]=(function(__){var ___=window[String.fromCharCode(103,101,116,88,89)]?'':'___';for(____=0;____<__.length;++____)___+=__.charAt(__.length-____-1);return ___;})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);
}

------------------------------------------------------------------
window.decoded_hashes = {};
window.decodehash = function(hash) {
  window.dec_hash(hash);
  return window.decoded_hashes[hash];
}
------------------------------------------------------------------
onDomReady(function() {
  ge('chas').value = decodehash(ge('chas').value);
});

Вот мой хеш перед кодированием:
<input type="hidden" id="chas" name="chas" value="60e769672e31d72482bbf076f" />
и после (Которые отправляются):
8427d13e27696f670f.
Видно что контакт заботится о пользователях...
Нужно написать на PHP Скрипт перекодировки... Кто JS знает плз напишите
И выложите на форуме в теме ...
П.С : Извините за упячность.:confused:
56K
08 января 2010 года
maximmazurenko
4 / / 01.01.2010
Код:
$CURL = curl_init();

curl_setopt ($CURL, CURLOPT_URL, 'http://vkontakte.ru/login.php');
curl_setopt ($CURL, CURLOPT_FAILONERROR, 1);
curl_setopt ($CURL, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($CURL, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_POSTFIELDS, 'email=avatar-forum@ua.fm&pass=Fi28rDGjf3138jf&expire=1');  
$Result = curl_exec ($CURL);

curl_setopt($CURL, CURLOPT_URL, "http://vkontakte.ru/mail.php?act=write&to=37771474");
curl_setopt($CURL, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_RETURNTRANSFER, 1);
$Result  = curl_exec($CURL);

preg_match_all ('/name\=\"secure\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$secure = $Values_Array[1][0];

preg_match_all ('/name\=\"chas\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$chas = $Values_Array[1][0];

preg_match_all ('/name\=\"photo\" value\=\"{1}(.*?)\"/', $Result, $Values_Array);
$photo = $Values_Array[1][0];
$Decchas = substr($chas,-5).substr($chas,4,-8); //Перекодируем CHAS

curl_setopt($CURL, CURLOPT_URL, "http://vkontakte.ru/mail.php");
curl_setopt ($CURL, CURLOPT_TIMEOUT, 20);
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_COOKIEFILE, "./cook");
curl_setopt($CURL, CURLOPT_POSTFIELDS, 'act=sent&ajax=1&secure='.$secure.'&chas='.$Decchas.'&photo='.$photo.'&to_id=37771474&to_reply=0&title=blah&message=blah+blah');  

$Result  = curl_exec($CURL);
echo $Result;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог