Hello_World!/애플추가_파이썬

파이썬 로그인 세션유지

bitfox 2011. 11. 30. 17:48

If you want to keep the authentication you need to reuse the cookie. I'm not sure if urllib2 is available in python 2.3.4 but here is an example on how to do it:

req1 = urllib2.Request(url1) 
response
= urllib2.urlopen(req1) 
cookie
= response.headers.get('Set-Cookie') 
 
# Use the cookie is subsequent requests 
req2
= urllib2.Request(url2) 
req2
.add_header('cookie', cookie) 
response
= urllib2.urlopen(req2) 

 

-------------------------------------------------------------------------

If this is cookie based authentication use HTTPCookieProcessor:

import cookielib, urllib2 
cj
= cookielib.CookieJar() 
opener
= urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
r
= opener.open("http://example.com/") 

If this is HTTP authentication use basic or digest AuthHandler:

import urllib2 
# Create an OpenerDirector with support for Basic HTTP Authentication... 
auth_handler
= urllib2.HTTPBasicAuthHandler() 
auth_handler
.add_password(realm='PDQ Application', 
                          uri
='https://mahler:8092/site-updates.py', 
                          user
='klem', 
                          passwd
='kadidd!ehopper') 
opener
= urllib2.build_opener(auth_handler) 
# ...and install it globally so it can be used with urlopen. 
urllib2
.install_opener(opener) 
urllib2
.urlopen('http://www.example.com/login.html') 

... and use same opener for every request.



[출처] http://stackoverflow.com/questions/923296/keeping-a-session-in-python-while-making-http-requests