Авторизация google cURl
Использую такой код
$url = 'https://www.google.com/accounts/Login';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, тут параметры);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
curl_setopt($ch, CURLOPT_URL, "http://www.site.ru");
print $result1 = curl_exec($ch);
На выходе Moves страница с сылкой где указано что куки отключены
в чём проблема может быть?
Использую такой код
$url = 'https://www.google.com/accounts/Login';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, тут параметры);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
curl_setopt($ch, CURLOPT_URL, "http://www.site.ru");
print $result1 = curl_exec($ch);
На выходе Moves страница с сылкой где указано что куки отключены
в чём проблема может быть?
Поищи классы для работы с цурлом или напиши свои, далее через оперу наверно удобней всего, смотришь какие куки ложит гугля и отсылаешь их после аутентефикации при каждом запросе. При том что у тя не отрабатывает есть подазрение что ты или не все посты отправил или не все куки... Лапаты придлажить не могу - самому нада - копай ))
И нафик тебе сессия? она все равно через куки...
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
но куки то подгружабться вот этой шляпой
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать
он тварь геморойная этот гугл
просто может дело не в цурле а в самом гугле
скажем заголовки читает
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
но куки то подгружабться вот этой шляпой
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать
он тварь геморойная этот гугл
просто может дело не в цурле а в самом гугле
скажем заголовки читает
Может у тебя неправильный формат куков в текст файле + у гугла есть временная аутентефикация типа сессии - одним запросом можно и не залогиниться
Мне это нужно очень!
Отрыл класс Google Analitic чтоль
через него всё равно не пашет
самое интресное на сервис
https://www.google.com/analytics/provision/signup
я могу зайти
а на
https://www.google.com/webmasters/tools/dashboard
нет =(
Кстати с куками разобрался сделал что-то типа
теперь на них не ругаеться
$cookieVars = '';
foreach ($this->cookies as $cookie) {
//$headers[] = "Cookie: ".$cookie['name'].'='.$cookie['value'];
$cookieVars .= ''.$cookie['name'].'='.$cookie['value'].'; ';
}
curl_setopt($this->curl, CURLOPT_COOKIE, $cookieVars);
//print_r($cookieVars);
}
А вот дальше опять проблема, он меня хочет перекинуть на другую страницу.
типа мол
Moved Temporarily
The document has moved here.
Догодался поставить так
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, 1 );
Он меня перекидывает куда нужно, только адрес уже другой
https://www.google.com/webmasters/tools/
Слушай, так если ты на gmail авторизуешься, дай посмотреть код авторизации как проходит, жалко чтоли? :'(
http://www.nirsoft.net/utils/smsniff.html
Пишите запросы по TELNET'у и через разные браузеры. Таким образом очень быстро разберётесь в чем дело. А дело может быть только в том что именно вы отправили.
Если непонятно что делать пишите объясню подробно! Сам лично таким образом многие сайты раскрывал скриптами)
Лично я таким образом я писал ботов для многих различных сайтов для сбора информации и очень успешно.
Аха... ты самый умный тут что ли? Или в непонятках? Что именно тебе не ясно из того что я тебе сказал?
еще не помешает ассемблер на всяк пожарный, да еще можно веб-серв по ходу написать, язык тоже.... Какие сетевые протоколы? ты о чем? Ну чел то адекватный попался, не обратил внимания - а твой бред будут читать потом в архиве или для тебя знание что есть понятие куков и о УЖАС протокола хттп - это являеться знанием сетевых протоколов? + обрати внимание на кол во постов и дату регистрации того кто тебе ответил - учись уважению
Топ думаю можно закрывать, ответы на вопрос даны, дальше пойдет флуд
Ага, один из. =)))
Если серьезно, мне не ясно как взрослый вроде бы человек, может писать такой неадекват, простительный разве что для детей младшего школьного возраста. Если ты конечно не специально засланный троль. )
Дан.
Как не работало так и не пашет. =(
Как узнать какие данные он запрашивает ( я имею ввиду гугле ).
Просто я уверен, что он не верит что к нему заходит браузер,
вот и делает редирект
вот типа такого
<html><head><title>Переадресация</title> <meta http-equiv="refresh" content="0; url='http://www.google.com/webmasters/tools/contentproblems?siteUrl=http%3A%2F%2Fwww.it-avenue.ru%2F&hl=ru&download=&probtype=10&pli=1&auth=DQAAAHMAAADckuzWshuMJSUXwHpnzbkSTUf7Z-J_bqtHe8W2rKYepE5eEXT1hthhVw6oT2VV50hxn2Ez_QOsW4QoWwwD80FHm0SnIaYFHtiE78k6P25AMyuWFkC9AqBa42MlSeEcQZjnAbuPMZeqUrhJTIeE8Dcmxe5GmA9j0Im29t9xLmnaPQ'"></head> <body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#551a8b" alink="#ff0000"><script type="text/javascript" language="javascript"> location.replace("http://www.google.com/webmasters/tools/contentproblems?siteUrl\x3dhttp%3A%2F%2Fwww.it-avenue.ru%2F\x26hl\x3dru\x26download\x3d\x26probtype\x3d10\x26pli\x3d1\x26auth\x3dDQAAAHMAAADckuzWshuMJSUXwHpnzbkSTUf7Z-J_bqtHe8W2rKYepE5eEXT1hthhVw6oT2VV50hxn2Ez_QOsW4QoWwwD80FHm0SnIaYFHtiE78k6P25AMyuWFkC9AqBa42MlSeEcQZjnAbuPMZeqUrhJTIeE8Dcmxe5GmA9j0Im29t9xLmnaPQ") </script></body></html>
Вывод через htmlspecialchars
Насколько я помню
1 Делаешь коннект через логин/пароль
2 Гугля отдает тебе куки, среди них авторизационная auth=DQAA.... и может редиректнуть
3 На ту страницу ты уже логинишься не через логин пас а только с теми куками которые тебе отдал гугл, этот пункт самый важный
4 Наслаждаеся
Вопрос про то что гугля не верит что это браузер - бред, это легко передаеться через заголовки
И вообще напиши простой клас под себя который будет хранить все куки которые передавались в течении твоей сессии коннекта (различные переходы меж страницами) и перезатирать их при необходимости, а при новом коннекте к серверу гугли отдавать весь массив - лишние куки не вредят, лишь бы основные были правильные.
И что тебе мешает получить адрес 'http://www.google.com/webmasters/tools/contentproblems?siteUrl=http%3A%2F%2Fwww.it-avenue.ru%2F&hl=ru&download=&probtype= 10&pli=1&auth=DQAAAHM......t9xLmnaPQ'
и перейти по нему с передачей в него всех тех кук которые ты получил?
Если не логиниться - значит отловил не все куки, если бы захотели запретить вход ботов то просто запретили бы через каптчу
И последнее - есть официальный класс для коннекта Gdata кажисть называеться, для пхп, но по нему не подскажу времени разбираться с ним не было
Эта auth меняеться оказываеться
вот в чё дело. Если она не подходит тогда редирект !