Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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来维护状态_Python_Http_Post_Cookies - Fatal编程技术网

Python:使用Cookie来维护状态

Python:使用Cookie来维护状态,python,http,post,cookies,Python,Http,Post,Cookies,我已经建立了一个系统来练习进行填充Oracle攻击,在做了大量工作之后,我发现我的漏洞不起作用,因为我的代码没有使用cookie维护状态!在阅读了cookies之后,我仍然需要一些帮助来修改我的代码,以便它正确地维护状态 我从制作饼干罐开始。这也应该从我想要的站点抓取cookie(据我所知): 我有正常的工作代码来获取网站数据,这样我就可以通过BeautifulSoup解析它 usock = urllib2.urlopen("http://192.168.1.12/main_login.php"

我已经建立了一个系统来练习进行填充Oracle攻击,在做了大量工作之后,我发现我的漏洞不起作用,因为我的代码没有使用cookie维护状态!在阅读了cookies之后,我仍然需要一些帮助来修改我的代码,以便它正确地维护状态

我从制作饼干罐开始。这也应该从我想要的站点抓取cookie(据我所知):

我有正常的工作代码来获取网站数据,这样我就可以通过BeautifulSoup解析它

usock = urllib2.urlopen("http://192.168.1.12/main_login.php")   
data = usock.read()
usock.close()
并发送带有适当数据的帖子:

url = 'http://192.168.1.3/check_login.php'
values = {'login_captcha': CAPTCHAguess, 'captchaID': BogusCipher, 'iv': IVprime}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
response.close()

我需要在上述两位代码中更改什么,以便它在提取和发布数据时使用cookie来维护状态?

您需要对所有请求使用相同的开启器,以使其正常工作。因此,不是:

response = urllib2.urlopen(req)
使用:

在这些情况下,强制性注释:考虑使用优秀的图书馆

response = urllib2.urlopen(req)
response = opener.open(req)