プログラムを継続的に実行している間、Web サイトにログインしたままにしようとしています。ただし、セッションは最終的にタイムアウトします。
ここに私のテストプログラムがあります:
import urllib
import urllib2
import cookielib
import re
url = 'https://www.locationary.com/'
data = urllib.urlencode({"inUserName":"EMAIL", "inUserPass":"PASSWORD"})
jar = cookielib.FileCookieJar("cookies")
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
opener.addheaders.append(('User-agent', 'Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1'))
opener.addheaders.append(('Referer', 'http://www.locationary.com/'))
opener.addheaders.append(('Cookie','site_version=REGULAR; JSESSIONID=781FD0C497FB596954BB78B1323215F6'))
request = urllib2.Request("https://www.locationary.com/index.jsp?ACTION_TOKEN=tile_loginBar_jsp$JspView$LoginAction", data)
response = opener.open(request)
page = opener.open(url).read()
print re.findall(r'<title>(.*)</title>', page)
h = response.info().headers
print h
出力は次のとおりです。
['Home Page']
['Server: nginx/1.0.8\r\n', 'Date: Fri, 10 Aug 2012 17:07:47 GMT\r\n', 'Content-Type: text/html;charset=UTF-8\r\n', 'Transfer-Encoding: chunked\r\n', 'Connection: close\r\n', 'Set-Cookie: PSESSIONID=533e2fb9fda008d5d16bfbdc9b9a6afed0e5ac54; Path=/\r\n', 'P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"\r\n', 'Set-Cookie: PSESSIONID=533e2fb9fda008d5d16bfbdc9b9a6afed0e5ac54; Path=/\r\n']
私は実験しました...そして、CookieのJSESSIONID部分を取り出した場合、私の出力は、私がログインしていないかのようにWebサイトのホームページになります..したがって、「Locationary.com」と表示されます。ホームページ。」JSESSIONID を入れると、すべてが機能しますが、サーバーは PSESSIONID という Cookie も設定します...これはどういう意味ですか...セッションがタイムアウトしないようにするにはどうすればよいですか? たとえば、30 分ごとに別の JSESSIONID を探す必要がありますか?