Python HTTPCookieProcessor不需要cookie jar?
在我所看到的关于使用urllib2存储PHP会话值和查看python中受保护网页的每个示例中,cookie jar cookielib.CookieJar总是这样传递:Python HTTPCookieProcessor不需要cookie jar?,python,urllib2,Python,Urllib2,在我所看到的关于使用urllib2存储PHP会话值和查看python中受保护网页的每个示例中,cookie jar cookielib.CookieJar总是这样传递: import urllib2 from cookielib import CookieJar cj = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 有人在玩这段代码,并完全删除了cookiejar,但仍然可以使用此脚本查
import urllib2
from cookielib import CookieJar
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
有人在玩这段代码,并完全删除了cookiejar,但仍然可以使用此脚本查看受会话保护的网页:
import urllib
import urllib2
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
formValues = {
"username":"user",
"password":"pass"
}
data = urllib.urlencode(formValues)
response = opener.open("http://jshawl.com/python-playground/login.php", data)
print response.read()
secure = opener.open("http://jshawl.com/python-playground/protected2.php")
print secure.read() # prints content that is only viewable if $_SESSION variable is correct.
如果没有cookie jar,$\u会话变量是如何存储的 HTTPCookieProcessor的构造函数的cookie jar参数的默认值为None。在本例中,HTTPCookieProcessor实例化一个新的空cookie jar
另请参见您确定会话没有存储在服务器端吗?我无法解释这种现象:就像这样:如果$\u POST['username']==user&&$\u POST['password']==pass{$\u SESSION['loggedin']=1;},那么受保护的页面和受保护的2.php只会在$\u SESSION['loggedin']=1的情况下说“您登录了”