Advertisement
Guest User

Untitled

a guest
Nov 30th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. import Cookie, urllib, urllib2, xml.etree.ElementTree
  2.  
  3. url = 'https://en.wikipedia.org/w/api.php?action=login&format=xml'
  4. username = 'user'
  5. password = 'password'
  6.  
  7. user_data = [('lgname', username), ('lgpassword', password)]
  8.  
  9. #Login step 1
  10. #Make the POST request
  11. request = urllib2.Request(url)
  12. data = urllib.urlencode(user_data)
  13. login_raw_data1 = urllib2.urlopen(request, data).read()
  14.  
  15. #Parse the XML for the login information
  16. login_data1 = xml.etree.ElementTree.fromstring(login_raw_data1)
  17. login_tag = login_data1.find('login')
  18. token = login_tag.attrib['token']
  19. cookieprefix = login_tag.attrib['cookieprefix']
  20. sessionid = login_tag.attrib['sessionid']
  21.  
  22. #Set the cookies
  23. cookie = Cookie.SimpleCookie()
  24. cookie[cookieprefix + '_session'] = sessionid
  25.  
  26. #Login step 2
  27. request = urllib2.Request(url)
  28. session_cookie_header = cookieprefix+'_session='+sessionid+'; path=/; domain=.wikipedia.org; HttpOnly'
  29.  
  30. request.add_header('Set-Cookie', session_cookie_header)
  31. user_data.append(('lgtoken', token))
  32. data = urllib.urlencode(user_data)
  33.  
  34. login_raw_data2 = urllib2.urlopen(request, data).read()
  35.  
  36. with requests.session() as s:
  37. s.post(url, data=user_data)
  38. r = s.get(url_2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement