Advertisement
Guest User

Untitled

a guest
Mar 17th, 2013
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.43 KB | None | 0 0
  1. try:
  2.         hn, fn = tempfile.mkstemp()
  3.         csrftoken = ''
  4.         cookies = cookielib.LWPCookieJar()
  5.         handlers = [
  6.             urllib2.HTTPHandler(),
  7.             urllib2.HTTPSHandler(),
  8.             urllib2.HTTPCookieProcessor(cookies)
  9.         ]
  10.         opener = urllib2.build_opener(*handlers)
  11.  
  12.         req = urllib2.Request(get_syllabus_url(className))
  13.         res = opener.open(req)
  14.  
  15.         for cookie in cookies:
  16.             if cookie.name == 'csrf_token':
  17.                 csrftoken = cookie.value
  18.                 break
  19.         opener.close()
  20.  
  21.         # Now make a call to the authenticator url:
  22.         cj = cookielib.MozillaCookieJar(fn)
  23.         opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj),
  24.                                       urllib2.HTTPHandler(),
  25.                                       urllib2.HTTPSHandler())
  26.  
  27.         opener.addheaders.append(('Cookie', 'csrftoken=%s' % csrftoken))
  28.         opener.addheaders.append(('Referer', 'https://www.coursera.org'))
  29.         opener.addheaders.append(('X-CSRFToken', csrftoken))
  30.         req = urllib2.Request(get_new_auth_url())
  31.  
  32.         data = urllib.urlencode({'email_address': username,'password': password})
  33.         req.add_data(data)
  34.  
  35.         resp = opener.open(req)
  36.     except Exception as e:
  37.         if '404' in str(e):
  38.             raise ClassNotFoundException(className)
  39.     cj.save()
  40.     opener.close()
  41.     os.close(hn)
  42.     return fn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement