被关在打开的URL之间的机械化浏览器的cookies?(Are cookies kept in a

2019-10-20 04:00发布

我有类似下面的代码:

br = mechanize.Browser()
br.open("https://mysite.com/")
br.select_form(nr=0)
#do stuff here
response = br.submit()
html = response.read()

#now that i have the login cookie i can do this...
br.open("https://mysite.com/")
html = response.read()

然而,我的剧本是应对像它不是为第二个请求登录。 我检查了第一个请求是的,它成功登录英寸 我的问题是:在做机械化的浏览器的cookies,需要管理或者我需要设置一个CookieJar什么的,或者它跟踪所有的人都对你?

第一个例子在这里谈论的请求之间进行饼干,但他们不谈论浏览器。

Answer 1:

是的,你将不得不存储cookie之间open的请求mechanize 。 类似的事情在下面应该工作,你可以在添加cookiejarbr对象,只要该对象存在,它维护的cookie。

import Cookie
import cookielib
cookiejar =cookielib.LWPCookieJar()

br = mechanize.Browser()
br.set_cookiejar(cookiejar)
br.open("https://mysite.com/")
br.select_form(nr=0)
#do stuff here
response = br.submit()
html = response.read()

#now that i have the login cookie i can do this...
br.open("https://mysite.com/")
html = response.read()

该文件包括它的更多细节。

我用perl mechanize很多,但不是python ,所以我可能错过了一些东西python具体这个工作,所以如果我做了我道歉,但我不想用一个简单的回答yes



文章来源: Are cookies kept in a Mechanize browser between opening URLs?