Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Cookie, urllib, urllib2, xml.etree.ElementTree
- url = 'https://en.wikipedia.org/w/api.php?action=login&format=xml'
- username = 'user'
- password = 'password'
- user_data = [('lgname', username), ('lgpassword', password)]
- #Login step 1
- #Make the POST request
- request = urllib2.Request(url)
- data = urllib.urlencode(user_data)
- login_raw_data1 = urllib2.urlopen(request, data).read()
- #Parse the XML for the login information
- login_data1 = xml.etree.ElementTree.fromstring(login_raw_data1)
- login_tag = login_data1.find('login')
- token = login_tag.attrib['token']
- cookieprefix = login_tag.attrib['cookieprefix']
- sessionid = login_tag.attrib['sessionid']
- #Set the cookies
- cookie = Cookie.SimpleCookie()
- cookie[cookieprefix + '_session'] = sessionid
- #Login step 2
- request = urllib2.Request(url)
- session_cookie_header = cookieprefix+'_session='+sessionid+'; path=/; domain=.wikipedia.org; HttpOnly'
- request.add_header('Set-Cookie', session_cookie_header)
- user_data.append(('lgtoken', token))
- data = urllib.urlencode(user_data)
- login_raw_data2 = urllib2.urlopen(request, data).read()
- with requests.session() as s:
- s.post(url, data=user_data)
- r = s.get(url_2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement