Python - 成功使用Cookie

时间:2014-09-21 05:21:12

标签: python facebook cookies session-cookies

当我尝试使用facebook cookies在Facebook上打开一个已登录的帐户时...

import urllib2, urllib, cookielib 

jar = cookielib.CookieJar()                                                                                                                        
cookie = urllib2.HTTPCookieProcessor(jar)                                                                                                                               
opener = urllib2.build_opener(cookie) 

data = urllib.urlencode({'email':'user@email.com','pass':'swagpassword','login':'Log+In'})
req = urllib2.Request('http://www.facebook.com/login.php')
response = opener.open(req, data)
cookie_header = response.headers.get("Set-Cookie")
response = opener.open(req, data) #I open it twice on purpose

if "Logout" in response.read():
    print("Logged In")


jar = cookielib.CookieJar() #new instance
cookie = urllib2.HTTPCookieProcessor(jar) #new instance
opener = urllib2.build_opener(cookie) #new instance

cookie_request = urllib2.Request('http://www.facebook.com/login.php')
cookie_request.add_header("cookie", cookie_header)

cookie_POST = opener.open(cookie_request)
cookie_POST = opener.open(cookie_request)

if "Logout" in cookie_POST.read():
    print("Logged In")

它会打印"登录"第一次成功,但是当我尝试使用cookie时,我不会登录。我该如何解决这个问题? (不使用其他下载的模块)

1 个答案:

答案 0 :(得分:2)

只需重复使用旧实例。

....

if "Logout" in response.read():
    print("Logged In")

#jar = cookielib.CookieJar() #new instance
#cookie = urllib2.HTTPCookieProcessor(jar) #new instance
#opener = urllib2.build_opener(cookie) #new instance

cookie_request = urllib2.Request('http://www.facebook.com/login.php')
#cookie_request.add_header("cookie", cookie_header)

cookie_POST = opener.open(cookie_request)

...