Se logar no Orkut usando o Mechanize

28 views
Skip to first unread message

Diogo Camelo Maximo

unread,
Nov 4, 2008, 7:49:51 PM11/4/08
to rail...@googlegroups.com
Pessoal, estou fazendo alguns testes com Mechanize, fiz um exemplo onde tento extrair algumas informações do orkut usando Mechanize com Rails.
Eu consigo me logar, o problema que o a página inicial do orkut é uma pagina que redireciona para outra, e quem faz o redirecionamento é um javascript e com o

Segue o codigo
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # get login form page page = agent.get 'https://www.google.com/accounts/ServiceLoginBox?service=orkut&nui=2&uilel=1&skipvpage=true&continue=https%3A%2F%2Fwww.orkut.com%2FRedirLogin.aspx%3Fmsg%3D0%26page%3D%252FHome.aspx%253Fxid%253D9364704888537223147&followup=https%3A%2F%2Fwww.orkut.com%2FGLogin.aspx&hl=en-US' # set form variable form = page.forms.first #Fill out form form.Email = ':::::::::::email:::::::::::;' form.Passwd = ':::::::::::password::::::::::::::::::::' page = agent.submit form # hardcoded needed page during login page = agent.get 'https://www.google.com/accounts/CheckCookie?continue=https%3A%2F%2Fwww.orkut.com%2FRedirLogin.aspx%3Fmsg&service=orkut&chtml=LoginDoneHtml&skipvpage=true' # logged in - go Home page = agent.get 'http://www.orkut.com/Home.aspx' puts page.body

Na console é impresso
<html><head><title>Redirecting</title> <meta http-equiv="refresh" content="0; url=&#39;http://www.orkut.com/RedirLogin.aspx?msg=0&amp;page=http%3A%2F%2Fwww.orkut.com.br%2FHome.aspx&amp;pli=1&amp;auth=DQAAAHwAAACH6rKkIcjRBqjn9nm086k-LxM0eAfMUKQo6hmbBcV5w-JXsveSLey_-Xteg3yX6NAUzLyx8Ac0aIQrOG_TlfHtfhek89r_b-6iRC8rG8JpUQoVcMNzazEh2ia0mN2wsPEDetGBI1frOyPgZ2rmX0BD-j6Pn-2HEAnPYaLjvy_ixg&#39;"></head> <body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#551a8b" alink="#ff0000"><script type="text/javascript" language="javascript"> location.replace("http://www.orkut.com/RedirLogin.aspx?msg\x3d0\x26page\x3dhttp%3A%2F%2Fwww.orkut.com.br%2FHome.aspx\x26pli\x3d1\x26auth\x3dDQAAAHwAAACH6rKkIcjRBqjn9nm086k-LxM0eAfMUKQo6hmbBcV5w-JXsveSLey_-Xteg3yX6NAUzLyx8Ac0aIQrOG_TlfHtfhek89r_b-6iRC8rG8JpUQoVcMNzazEh2ia0mN2wsPEDetGBI1frOyPgZ2rmX0BD-j6Pn-2HEAnPYaLjvy_ixg") </script></body></html>


Se no controler eu colocar
render :text => page.body
ele redireciona para pagina Redirecting que manda para a pagina inicial do orkut(scrap, album, etc), mais a minha intensão nao era abrir a pagina no browser e sim manipular a pagina sem visualizar.

Alguem ja tentou usar o Mechanize para se logar no orkut?


Abraços,

Jésus Lopes

unread,
Nov 5, 2008, 5:41:13 AM11/5/08
to rail...@googlegroups.com
Diogo,

Estava fazendo alguns testes aqui com o Mechanize e seguindo seu código, somente acrescentei as linha abaixo e consegui trazer o conteúdo da página no console.

form.Email = '*****'
form.Passwd = '*****'
meta1 = page.search("//meta").first.attributes["content"].split("url=").last.gsub("'","") 
page = agent.get meta1


puts page.body

Não sei se é a maneira mais correta, mas funcionou :)

Abs.

Jésus Lopes


2008/11/4 Diogo Camelo Maximo <dcma...@gmail.com>



--
Jésus Lopes
E-mail: jtade...@gmail.com
MSN: jtade...@hotmail.com
Skype: jtadeulopes

Diogo Camelo Maximo

unread,
Nov 5, 2008, 7:25:32 AM11/5/08
to rail...@googlegroups.com
Valeu Jésus, funcionou beleza, muito obrigado.
Abracos,

2008/11/5 Jésus Lopes <jtade...@gmail.com>

Diogo Camelo Maximo

unread,
Nov 5, 2008, 9:39:31 PM11/5/08
to rail...@googlegroups.com
To incrementando o exemplo e me deparei com um outro problema.
Com a ajuda do amigo Jesus consegui entrar na home, os dados da home eu consigo pegar legal.
Agora quando tento simular um click em um link ele redireciona para uma pagina que possui um iframe e chamadas a javascript
Essa pagina mais uma vez deve redirecionar para a pagina verdadeira, ou setar a pagina verdadeira no iframe, o problema que nao sei qual URL ele chama.
Meu codigo é esse:
'########'

form.Passwd =

'######'

page = agent.get

'http://www.orkut.com/Home.aspx'

#

meta1 = page.search(

"//meta").first.attributes["content"].split("url=").last.gsub("'","")

page = agent.get meta1

#Pagina principal

page = agent.get

'http://www.orkut.com/Home.aspx'

#pagina de scrap
page = agent.get

'http://www.orkut.com.br/Main#Scrapbook.aspx?rl=ms' 

puts page.body

Isso imprime o seguinte

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>orkut - </title>
<link rel="SHORTCUT ICON" href="http://img2.orkut.com/favicon.ico" type="image/x-icon">
<script type="text/javascript">
var JSHDF = {};
JSHDF['CGI.POST_TOKEN'] = '1410E7D80B1134728222B7845DB92411';
JSHDF['Page.signature.raw'] = 'JfG8FHJkbCU1NGENBm9YYf1qLro=';
JSHDF['photosLabel'] = 'fotos';
JSHDF['scrapsLabel'] = 'recados';
JSHDF['inviteToChat'] = 'convidar para bate-papo';
JSHDF['sendIM'] = 'bate-papo';
JSHDF['friendsListLabel'] = '\x3C?cs #trans ph TERM ?\x3E\x3Cspan id=\x22inlsearchterm1\x22 style=\x22font-weight:bold\x3B\x22\x3E\x3C\x2Fspan\x3E\x3C?cs #trans \x2Fph ?\x3E na minha lista de amigos';
JSHDF['searchOrkutLabel'] = 'Pesquisar \x3C?cs #trans ph TERM ?\x3E\x3Cspan id=\x22inlsearchterm2\x22 style=\x22font-weight:bold\x3B\x22\x3E\x3C\x2Fspan\x3E\x3C?cs #trans \x2Fph ?\x3E em todo o orkut';
JSHDF['uid'] = '1362789572762081223';
JSHDF['home'] = '\x2FHome.aspx';
JSHDF['main'] = '\x2FMain';
JSHDF['LinkInterstitial.Label.warning'] = 'Tem certeza de que deseja visitar este site?';
JSHDF['LinkInterstitial.Label.continue'] = 'continuar';
JSHDF['LinkInterstitial.Label.cancel'] = 'cancelar';
JSHDF['clientHashSeparator'] = '$';
</script>

<base target="_top"></base>

<style type="text/css">

@import url("http://img4.orkut.com/css/gen/base038.css");

@import url("http://img3.orkut.com/css/gen/castroskin018.css");

</style>

<script src="http://img1.orkut.com/js/gen/common040.js" type="text/javascript"></script>

<script src="http://img3.orkut.com/js/gen/in_frame015.js" type="text/javascript"></script>

<script language="javascript">

_addLoadEvent(function() {

initOrkutFrame();

});

</script>

<script type="text/javascript">

JSHDF['csiServer'] = 'csi.gstatic.com';

</script>

</head>

<body id="mainBody" name="mainBody">

<iframe id="orkutFrame" allowtransparency="true" name="orkutFrame" src="" style="display:none"></iframe>

<script language="javascript">

preInitOrkutFrame();

</script>

<noscript>

<div id="container">

<div id="mboxfull" style="margin-top:15px;">

<table cellpadding="0" cellspacing="0" border="0" class="module" ><tr><td class="topl_g">

&nbsp;</td><td class="topr_g" ></td></tr>

<tr><td class="boxmidlrg" >

<p>Para usar o orkut, você deve ativar o JavaScript. No entanto, parece que o JavaScript está desativado ou não é compatível com seu navegador. Para que o orkut funcione corretamente, ative o JavaScript alterando as opções do seu navegador e <a href="/Main">tente novamente</a>.</p><br/>

<p>Se você deseja usar o orkut em um telefone celular ou dispositivo semelhante, <a href="http://m.orkut.com">clique aqui</a>.</p>

</td><td class="boxmidr" ></td></tr>
<tr><td class="botl"></td><td class="botr"></td></tr></table>
</div>
</div>
</noscript>
</body>
</html>

Alguem ja fez algum exemplo de extrair scraps do orkut?

Abraços,



 
2008/11/5 Diogo Camelo Maximo <dcma...@gmail.com>

rui

unread,
Nov 5, 2008, 9:44:44 PM11/5/08
to rail...@googlegroups.com
Olá Diogo,

Recomendo que use a extensão: http://livehttpheaders.mozdev.org/ do
Firefox para ver essas páginas e as requisições HTTP geradas.

Abraços

[ rui ]
[ Seiri, Seiton, Seisō, Seiketsu e Shitsuke ]

Marcus Patricius

unread,
Nov 6, 2008, 4:56:07 AM11/6/08
to rail...@googlegroups.com
  E quanto segurança,  como vcs fazem para manter o senha escondida?
 

Henrique Bastos

unread,
Nov 9, 2008, 8:50:35 PM11/9/08
to rail...@googlegroups.com

On Nov 6, 2008, at 12:44 AM, rui wrote:

Recomendo que use a extensão: http://livehttpheaders.mozdev.org/ do
Firefox para ver essas páginas e as requisições HTTP geradas.

Excelente dica, Rui!

--
Henrique Bastos
"Don't take yourself too serious. Accept nothing! Reject nothing!"





Reply all
Reply to author
Forward
0 new messages