Usando CookieJar en Python para iniciar sesión en un sitio web de “Google App Engine”. Lo que está mal aquí?

StackOverflow https://stackoverflow.com/questions/2571450

Pregunta

he estado tratando de encontrar un código Python que acceder a mi buzón de correo electrónico en yahoo.com de "Google App Engine" . aquí (haga clic aquí para ver esa página) me dieron este código:

import urllib, urllib2, cookielib

url = "https://login.yahoo.com/config/login?"
form_data = {'login' : 'my-login-here', 'passwd' : 'my-password-here'}

jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data = urllib.urlencode(form_data)
# data returned from this pages contains redirection
resp = opener.open(url, form_data)
# yahoo redirects to http://my.yahoo.com, so lets go there instead
resp = opener.open('http://mail.yahoo.com')
print resp.read()

El autor de este script se veía en la escritura de HTML yahoo formulario de conexión y se acercó con este script.

Ese formulario de conexión contiene dos campos, uno para los usuarios de Yahoo! Identificación y otra es la contraseña de los usuarios. Aquí es cómo el código HTML de la página para los dos de esos campos se ve así:

campo ID de usuario:

<input type="text" maxlength="96" class="yreg_ipt" size="17" value="" id="username" name="login">

campo Contraseña:

<input type="password" maxlength="64" class="yreg_ipt" size="17" value="" id="passwd" name="passwd">

Sin embargo, cuando he subido este código para Google App Engine he descubierto que este formulario de conexión sigue volviendo a mí, lo que, supongo, significa que el registro en proceso no tuvo éxito. ¿Por qué es así?

¿Fue útil?

Solución

Se envía hash MD5 y la contraseña no sin formato. También habría que jugar junto con todo tipo de protecciones CSRF etc. que están de ejecución. Look:

            <input type="hidden" name=".tries" value="1"> 
            <input type="hidden" name=".src" value="ym"> 
            <input type="hidden" name=".md5" value=""> 
            <input type="hidden" name=".hash" value=""> 
            <input type="hidden" name=".js" value=""> 
            <input type="hidden" name=".last" value=""> 
            <input type="hidden" name="promo" value=""> 
            <input type="hidden" name=".intl" value="us"> 
            <input type="hidden" name=".bypass" value=""> 
            <input type="hidden" name=".partner" value=""> 
            <input type="hidden" name=".u" value="bd5tdpd5rf2pg"> 
            <input type="hidden" name=".v" value="0"> 
            <input type="hidden" name=".challenge" value="5qUiIPGVFzRZ2BHhvtdGXoehfiOj"> 
            <input type="hidden" name=".yplus" value=""> 
            <input type="hidden" name=".emailCode" value=""> 
            <input type="hidden" name="pkg" value=""> 
            <input type="hidden" name="stepid" value=""> 
            <input type="hidden" name=".ev" value=""> 
            <input type="hidden" name="hasMsgr" value="0"> 
            <input type="hidden" name=".chkP" value="Y"> 
            <input type="hidden" name=".done" value="http://mail.yahoo.com"> 
            <input type="hidden" name=".pd" value="ym_ver=0&c=&ivt=&sg="> 

Lanzamiento de Wireshark y jugar con él. Buena suerte:)

Sin embargo, si usted tiene la intención de usarlo w torreón / App Engine en mi mente que el uso de IP de Google es casi seguro que resultará w desafío / Captcha. También Yahoo podría bloquear su User-Agent que se establece de forma permanente por parte de Google.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top