Skip to content

Instantly share code, notes, and snippets.

@meoow
Created August 14, 2014 03:28
Show Gist options
  • Save meoow/d03338f4ac6f7051ebd4 to your computer and use it in GitHub Desktop.
Save meoow/d03338f4ac6f7051ebd4 to your computer and use it in GitHub Desktop.
Update cookie for xunlei-lixian
#!/usr/bin/env python2.7
import os, sys
import ConfigParser as cfgp
import sqlite3 as sql
import cookielib
import pdb
def getDefaultProfile(profilesIniFile):
profilesCfg = cfgp.ConfigParser()
profilesCfg.read(profilesIniFile)
if len(profilesCfg.sections())==2:
return profilesCfg.get('Profile0','Path')
for i in profilesCfg.sections():
if profilesCfg.has_option(i, "Default") and \
profilesCfg.getint(i, "Default") == 1:
return profilesCfg.get(i, "Path")
def parseSession(cookieFile=None):
cookieCon = sql.connect(cookieFile)
cookieCur = cookieCon.cursor()
for row in cookieCur.execute('''select value from moz_cookies where baseDomain="xunlei.com" and name="lsessionid"'''):
return row[0]
def writeCookie(lxCookieFile, lsessionid):
cookiejar = cookielib.LWPCookieJar()
cookiejar.load(lxCookieFile, ignore_discard=True, ignore_expires=True)
session_ck = cookielib.Cookie(version=0, name='lx_sessionid', value=lsessionid, port=None, port_specified=False, domain='.vip.xunlei.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False)
cookiejar.set_cookie(session_ck)
cookiejar.save(lxCookieFile, ignore_discard=True)
if __name__=='__main__':
#pdb.set_trace()
dirDispatch = {'posix': lambda:(os.environ['HOME'], '.mozilla'),
'win32': lambda:(os.environ['APPDATA'],'Mozilla')}
profileRoot, mozilla = dirDispatch[sys.platform.lower()]()
profilesIniFile = os.path.join(profileRoot, mozilla, 'firefox', 'profiles.ini')
profilesFolder = getDefaultProfile(profilesIniFile)
if os.path.isabs('profilesFolder'):
profilesPath = profilesFolder
else:
profilesPath = os.path.join(profileRoot, mozilla, 'firefox', profilesFolder)
cookieFilePath = os.path.join(profilesPath, 'cookies.sqlite')
print cookieFilePath
raise RuntimeError('shit')
lsessionid = parseSession(cookieFilePath)
xunleiCookieFile = os.path.join(profileRoot, '.xunlei.lixian.cookies')
writeCookie(xunleiCookieFile, lsessionid)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment