Python - 机械化会话未被重新定义

时间:2016-01-25 13:18:53

标签: python python-2.7 session mechanize

我在公司的代理人后面。并且为了访问某些站点内部,我必须先登录到特定站点。问题是如果我从IE或FF登录到这个特定的站点,那么我可以访问站点内的站点,不一定是从我登录的同一个浏览器。

例如:我从FF登录,然后我可以从IE访问内部网站,反之亦然(我从内部网站获得ping回复)。

但是,当我使用mechanize登录并保持会话处于活动状态时(使用sleep),我无法访问任何站点内部(我得到ping超时)

为什么机械化会话无法识别?

更新:我的代码

import mechanize
import cookielib
from time import sleep

loginURL = '<loginURL>'
URL = '<URL>'

browser = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
browser.set_cookiejar(cj)

#Browser Options
browser.set_handle_robots(False)
browser.set_handle_equiv(True)
browser.set_handle_gzip(True)
browser.set_handle_redirect(True)
browser.set_handle_referer(True)
#User-agent
browser.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:43.0) Gecko/20100101 Debian 3.2.73-2+deb7u1 Firefox/43.0')]
browser.open(loginURL)
browser.select_form(nr = 0)
browser.form['username'] = '<username>'
browser.form['password'] = '<password>'
login = browser.submit()
#Checking Successful login
if browser.geturl()== URL:
    print 'Successful Login'
print 'keeping session...'
sleep(360)

#Checking that session was kept alive
open = browser.open(URL)
sleep (5)
if browser.geturl()== URL:
    print 'Session Kept Alive!'
#print open.read()

0 个答案:

没有答案