есть рабочий код авторизации на одноклассниках через мобильную версию.
мне нужно после авторизации ставить "Класс" к примеру тут: http://m[dot]odnoklassniki[dot]ru/intere[dot][dot][dot]c/62080335836589
т.е. парсить ссылку этого класса, и перейти по нему.
уже парсил ссылку, но не знаю что дальше делать. если просто перейти по ссылке, то класс не ставится. подскажите пожалуйста
вот и сам код
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- $login="логин";
- $password="пароль";
- $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' .
- 'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
- curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
- curl_setopt($ch, CURLOPT_TIMEOUT, 100);
- curl_setopt($ch, CURLOPT_URL, 'http://m.odnoklassniki.ru/dk?bk=GuestMain&st.cmd=main&st.redirect=%252Finteresnoo%252Ftopic%252F62080335836589&_prevCmd=main&tkn=8557');
- $post = array(
- 'fr.posted' => 'set',
- 'fr.needCaptcha' => '',
- 'fr.login' => $login,
- 'fr.password' => $password
- );
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
- function curl_redir_exec($ch){
- static $curl_loops = 0;
- static $curl_max_loops = 20;
- if ($curl_loops >= $curl_max_loops)
- {
- $curl_loops = 0;
- return FALSE;
- }
- curl_setopt($ch, CURLOPT_HEADER, true);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- $data = curl_exec($ch);
- $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- if ($http_code == 301 || $http_code == 302){
- $matches = array();
- preg_match('/Location:(.*?)\n/', $header, $matches);
- if (!$url){
- $curl_loops = 0;
- return $data;
- }
- $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
- if (!$url['scheme'])
- $url['scheme'] = $last_url['scheme'];
- if (!$url['host'])
- $url['host'] = $last_url['host'];
- if (!$url['path'])
- $url['path'] = $last_url['path'];
- $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:'');
- curl_setopt($ch, CURLOPT_URL, $new_url);
- return curl_redir_exec($ch);
- }else{
- $curl_loops=0;
- return $data;
- }
- }
- $answer = curl_redir_exec($ch);
- curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
- $answer = curl_redir_exec($ch);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_URL, 'http://m.ok.ru');
- preg_match('#class="lklnk hl" href="([^"]+)"><span#U',$answer,$list);
- $ssylka = 'http://m.ok.ru'.$list[1]; //парсил ссылку для класса
- ?>