From libopenmetaverse - libomv - Developer Wiki
import hashlib
def login(first, last, passwd, mac):
passwd_md5 = '$1$' + hashlib.md5(passwd).hexdigest()
uri = 'http://127.0.0.1'
uri = 'https://login.agni.lindenlab.com/cgi-bin/login.cgi'
s = xmlrpclib.ServerProxy(uri)
login_details = {
'first': first,
'last': last,
'passwd': passwd_md5,
'start': 'last',
'major': '1',
'minor': '13',
'patch': '2',
'build': '15',
'platform': 'Win',
'mac': mac,
'options': [],
'user-agent': 'sl.py 0.1',
'id0': '',
'agree_to_tos': '',
'viewer_digest': '09d93740-8f37-c418-fbf2-2a78c7b0d1ea'
}
return s.login_to_simulator(login_details)