python获取sessionid

发布时间:2019-09-09 08:46:32编辑:auto阅读(3567)

    获取sessionid代码如下:
      1 #!/usr/bin/env python
      2 
      3 import cookielib
      4 from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler
      5 import time ,urllib
      6 
      7 #cj用来保存访问过程中的cookie,用它来初始化opener,以后每次用
         #opener来访问url时,都会使用该cookie。这样每次请求的一些变量都
         #会相同,如:sessionid
      8 cj =  cookielib.CookieJar()
      9 opener = build_opener(HTTPCookieProcessor(cj),HTTPHandler)
     10 f = opener.open("http://10.23.51.20:8001/ok.html")
     11 html = f.read()
     12    
     13 print "The cookies are:"
     14 for cookie in cj:
     15     print cookie
     16 
     17 time.sleep(1)
     18 for i in range(10):
     19     f = opener.open("http://10.23.51.20:8001/ok.html")
     20     html = f.read()
     21     
     22     print "The cookies are:"
     23     for cookie in cj:
     24         print cookie
     25     time.sleep(10)


    循环访问http://10.23.51.20:8001/ok.html十次,每次都打印出sessionid,输出结构显示每次的sessionid都是一样的。
    但访问openstack的管理页面出现一个异常,搞得我纠结了一下午。例如它的url为:http://10.23.54.150:9696
    。用该url来代替上面的url时,输出的sessionid每次都不一样。不知道是sessionid不同是真相还是相同是真相。
    猜想:openstack的daskboard可能由于没有登录进去,导致没有存储session。所以每一次访问会新建session,并返回新的sessionid。

关键字