Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try:
- hn, fn = tempfile.mkstemp()
- csrftoken = ''
- cookies = cookielib.LWPCookieJar()
- handlers = [
- urllib2.HTTPHandler(),
- urllib2.HTTPSHandler(),
- urllib2.HTTPCookieProcessor(cookies)
- ]
- opener = urllib2.build_opener(*handlers)
- req = urllib2.Request(get_syllabus_url(className))
- res = opener.open(req)
- for cookie in cookies:
- if cookie.name == 'csrf_token':
- csrftoken = cookie.value
- break
- opener.close()
- # Now make a call to the authenticator url:
- cj = cookielib.MozillaCookieJar(fn)
- opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj),
- urllib2.HTTPHandler(),
- urllib2.HTTPSHandler())
- opener.addheaders.append(('Cookie', 'csrftoken=%s' % csrftoken))
- opener.addheaders.append(('Referer', 'https://www.coursera.org'))
- opener.addheaders.append(('X-CSRFToken', csrftoken))
- req = urllib2.Request(get_new_auth_url())
- data = urllib.urlencode({'email_address': username,'password': password})
- req.add_data(data)
- resp = opener.open(req)
- except Exception as e:
- if '404' in str(e):
- raise ClassNotFoundException(className)
- cj.save()
- opener.close()
- os.close(hn)
- return fn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement