ФорумПрограммированиеPHP для идиотов → Авторизация вк

Авторизация вк

  • Tracher

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 12 декабря 2010 г. 1:12

    Не могу раскурить почему не работает скрипт авторизации вк, кто подскажет?

      function Authorizate($login, $password)
    {

    $this->ch = curl_init('http://login.vk.com/?act=login');

    curl_setopt($this->ch, CURLOPT_COOKIEFILE, core::$x['VkGroupsForumsParser']['path_cookie']);

    curl_setopt($this->ch, CURLOPT_HEADER, true);
    curl_setopt($this->ch, CURLOPT_POST, true);
    curl_setopt($this->ch, CURLOPT_HTTPGET, false);
    curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);

    $data = array('email' => $login, 'pass' => $password, 'vk' => 1, );
    curl_setopt($this->ch, CURLOPT_POSTFIELDS, http_build_query($data));

    $html = iconv('cp1251', 'utf-8', curl_exec($this->ch));

    if (!$data = $this->AuthorizateParseData($html))
    return false;

    curl_setopt($this->ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($this->ch, CURLOPT_URL, 'http://vk.com/login.php');

    $html = iconv('cp1251', 'utf-8', curl_exec($this->ch));

    if ($this->AuthorizateIsSuccess($html))
    return;

    curl_setopt($this->ch, CURLOPT_URL, 'http://vk.com');

    curl_setopt($this->ch, CURLOPT_POST, false);
    curl_setopt($this->ch, CURLOPT_HTTPGET, true);

    $html = iconv('cp1251', 'utf-8', curl_exec($this->ch));

    curl_setopt($this->ch, CURLOPT_HEADER, false);
    curl_setopt($this->ch, CURLOPT_POSTFIELDS, '');

    return $this->AuthorizateIsSuccess($html);
    }

    private function AuthorizateIsSuccess($html)
    {
    return preg_match('{Location: /id[0-9]+}', $html);
    }
    private function AuthorizateParseData($html)
    {
    var_dump($html);
    $data = array('op' => 'slogin', 'redirect' => 1, 'expire' => 0, 'to' => '', );
    if (!preg_match(&quot;{<input type=&#39;hidden&#39; name=&#39;s&#39; id=&#39;s&#39; value=&#39;(.*?)&#39; />}&quot;, $html,
    $regs))
    return false;

    $data[&#39;s&#39;] = $regs[1];

    return $data;
    }

  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 12 декабря 2010 г. 1:19, спустя 6 минут 44 секунды

    потому что не смазан
    Сапожник без сапог
  • Tracher

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 12 декабря 2010 г. 1:21, спустя 1 минуту 42 секунды

    потому что не смазан
    чем смазать то?вазелином чтоли..
  • Mars

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 12 декабря 2010 г. 8:03, спустя 6 часов 42 минуты 29 секунд

    проснифь авторизацию и напиши свой скрипт, делов то там…
  • Reestr

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 14 декабря 2010 г. 2:55, спустя 1 день 18 часов 51 минуту

    $email = &#39;&#39;;
    $pass = &#39;&#39;;


    $ua = &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4&#39;;
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, &#39;http://vkontakte.ru/login.php';);
    curl_setopt ($ch, CURLOPT_HEADER, 0);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_USERAGENT, $ua);
    curl_setopt ($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, &#39;act=login&amp;success_url=&amp;fail_url=&amp;try_to_login=1&amp;to=&amp;vk=&amp;email=&#39;.$email.&#39;&amp;pass=&#39;.$pass);
    curl_setopt ($ch, CURLOPT_COOKIEJAR, &#39;cookie.txt&#39;);
    curl_setopt ($ch, CURLOPT_COOKIEFILE, &#39;cookie.txt&#39;);
    $con = curl_exec($ch);
    curl_close ($ch);
    return $con;


    и пиздец

Пожалуйста, авторизуйтесь, чтобы написать комментарий!