Если я укажу в редиректе https://oauth.vk.com/blank.html, то приложение не сможет спарсить токен.
Почему это не спарсите?
Вот работающий пример на php
$cl = new HTTP_Client;
$cl->setDefaultHeader("Accept-Encoding", "identity");
$cl->get("https://oauth.vk.com/authorize?client_id=xxx&scope=video,groups,photos,wall,offline&display=wap&redirect_uri=https://oauth.vk.com/blank.html&response_type=token");
$resp = $cl->currentResponse();
$dom = str_get_dom($resp['body']);
$postData = array();
foreach ($dom->find("input") as $input)
{
if ($input->name)
{
$postData[$input->name] = $input->value;
}
}
$postData['email'] = $urow['login'];
$postData['pass'] = $urow['pass'];
$postData['expire'] = '0';
$cl->post($dom->find("form", 0)->action, $postData);
$resp = $cl->currentResponse();
if (strstr($resp['url'], "oauth.vk.com/blank.htm"))
{
$oauth_success_url = $resp['url'];
}
else
{
$dom->__destruct();
unset($dom);
$dom = str_get_dom($resp['body']);
$cl->get($dom->find("form", 0)->action);
$resp = $cl->currentResponse();
$oauth_success_url = $resp['url'];
}
if (!preg_match("#access_token=([0-9a-f]+)&#", $oauth_success_url, $m))
{
printf("Не удалось авторизоваться vk\n");
exit(1);
}
$access_token = $m[1];
echo $access_token."\r\n";