Is it a fake website?

25 noviembre 2009

¿Cómo aprender a programar?

Lee mucho código, sobre todo actual, para ver como se hace y sigue haciendo todo:


Código de Google OS.
--------------------------------------------------------------------------------------
GOOGLE_ACCOUNTS_URL = 'https://www.google.com/accounts'
LOGIN_SOURCE = 'test_harness'


class CookieCollectorRedirectHandler(urllib2.HTTPRedirectHandler):
def __init__(self):
self.__cookie_headers = []

@property
def cookie_headers(self):
return self.__cookie_headers

def http_error_302(self, req, fp, code, msg, headers):
self.__cookie_headers.extend(fp.info().getallmatchingheaders('Set-Cookie'))
result = urllib2.HTTPRedirectHandler.http_error_302(self, req, fp,
code, msg, headers)
return result


def Authenticate(email, password):
opener = urllib2.build_opener()
payload = urllib.urlencode({'Email': email,
'Passwd': password,
'PersistentCookie': 'true',
'accountType' : 'HOSTED_OR_GOOGLE',
'source' : LOGIN_SOURCE})
request = urllib2.Request(GOOGLE_ACCOUNTS_URL + '/ClientLogin', payload)
response = opener.open(request)
data = response.read().rstrip()

# Convert the SID=xxx\nLSID=yyy\n response into a dict.
l = [p.split('=') for p in data.split('\n')]
cookies = dict((i[0], i[1]) for i in l)

payload = urllib.urlencode({'SID': cookies['SID'],
'LSID': cookies['LSID'],
'source': LOGIN_SOURCE,
'service': 'gaia'})
request = urllib2.Request(GOOGLE_ACCOUNTS_URL + '/IssueAuthToken', payload)
response = opener.open(request)


--------------------------------------------------------------------------------------

class PamClient {
public:
/*
* Struct representing the username / password. This is assumed to
* be passed to the callback function
*/
struct UserCredentials {
std::string username;
std::string password;
};

/*
* Calls pam_start and initializes the pam environment
*/
explicit PamClient(UserCredentials* user_credentials);

/*
* Calls pam_end and frees memory
*/
virtual ~PamClient();

/*
* Starts the authentication loop. This initiates the call to the
* pam library and back to the conversation callback before returning
* Returns true on success, false on error
*/
bool Authenticate();

/*
* Sets the credentials obtained from authenticate and starts a session
* with the pam library
*/
bool StartSession();


Y sobre todo, ten paciencia.

Relacionado.

6 comentarios:

Anónimo dijo...

Demasiado "moderno" para mí, que aún ando peleándome con la versión 1.0 del kernel. También muy recomendable el anexo del libro de Tanenbaum con los fuentes de MINIX.

saludos y enhorabuen por el blog ;)

Emilio dijo...

#anónimo, buen apunte!, gracias. :-)

Anónimo dijo...

Awesome blog, I hadn't noticed www.logadmin.net previously during my searches!
Continue the wonderful work!

Anónimo dijo...

Thanks for sharing this link, but unfortunately it seems to be offline... Does anybody have a mirror or another source? Please reply to my post if you do!

I would appreciate if a staff member here at www.logadmin.net could post it.

Thanks,
Oliver

Anónimo dijo...

Hey,

This is a inquiry for the webmaster/admin here at www.logadmin.net.

Can I use part of the information from this post right above if I give a backlink back to your site?

Thanks,
Harry

Anónimo dijo...

Hey webmaster I love the blog