Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Cookie是否保存在打开URL之间的Mechanize浏览器中?_Python_Mechanize_Mechanize Python - Fatal编程技术网

Python Cookie是否保存在打开URL之间的Mechanize浏览器中?

Python Cookie是否保存在打开URL之间的Mechanize浏览器中?,python,mechanize,mechanize-python,Python,Mechanize,Mechanize Python,我有类似的代码: 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

我有类似的代码:

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()
但是,我的脚本的响应就像第二个请求没有登录一样。我检查了第一个请求,是的,它成功登录。我的问题是:机械化浏览器中的cookie是否需要管理,或者我是否需要设置CookieJar或其他什么,或者它是否为您跟踪所有这些cookie


第一个示例谈到在请求之间携带cookie,但它们不涉及浏览器。

是的,您必须在
打开的
请求之间将
cookie
存储在
机械化的
中。类似于下面的内容应该可以工作,因为您可以将
cookiejar
添加到
br
对象,只要该对象存在,它就会维护该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
特定于此工作的东西,因此如果我真的这样做了,我道歉,但我不想简单地回答
是的

谢谢,我会添加一个cookiejar。我以为浏览器会保存所有这些数据。那个机械化对象的坏名字!lolmacdonjo lemme知道它是否只是添加了
cookiejar
,或者您是否需要做其他事情。我很好奇它在
python
中是如何工作的,现在无法对它进行测试。只需要这三行:import cookiejar cj=cookielib.LWPCookieJar()br.set_cookiejar(cj)