如何在python中为重定向设置cookie
我正在编写一个代理服务器,在那里我将截获一个请求,并检查头部是否有一个名为URID的cookie,如果没有,我想将请求重定向到fw.asta.com,看看这个域是否有一个名为URID的cookie,如果没有,我想为fw.cisco.com设置cookie,然后重定向到最初打算的站点,然后为该站点设置相同的cookie。如果fw.asta.com站点存在cookie,我将使用该cookie重定向到最初的目标站点,如果最初的目标站点具有URID cookie,我将代表该站点提供请求 所以我已经为此奋斗了很长一段时间。我有一种感觉,当我在重定向过程中设置cookie时,我不明白实际发生了什么 我的代码就在这里:如何在python中为重定向设置cookie,python,redirect,cookies,Python,Redirect,Cookies,我正在编写一个代理服务器,在那里我将截获一个请求,并检查头部是否有一个名为URID的cookie,如果没有,我想将请求重定向到fw.asta.com,看看这个域是否有一个名为URID的cookie,如果没有,我想为fw.cisco.com设置cookie,然后重定向到最初打算的站点,然后为该站点设置相同的cookie。如果fw.asta.com站点存在cookie,我将使用该cookie重定向到最初的目标站点,如果最初的目标站点具有URID cookie,我将代表该站点提供请求 所以我已经为此奋
def do_GET(self):
#seperate the path into parts
(scm, netloc, path, params, query, fragment) = urlparse.urlparse(self.path, 'http')
#check the header for the urid cookie, returns the URID if present
urid = self.find_urid()
if netloc == 'fw.asta.com':
if urid:
#redirect to the originally intended site and set the cookie
path = self.path[23:]
self.redirect_with_urid(path, urid)
else:
#redirect to fw.asta.com
urid = 333
self.redirect_with_urid(self.path, urid)
else:
if urid:
#simply serve the site because if has the URID
self.final_destination()
else:
#no urid, so we need to go the fw.asta.com to check if the urid is there
self.redirect('http://fw.asta.com/?url=' + str(self.path))
正如您可以看到的那样,逻辑是有意义的,但是当我运行代码时,我遇到了一个指向最初预期站点的无限重定向循环
当我得到重定向响应时,我可以清楚地看到set cookie字段在那里,但是,当我得到重定向请求时,它不会将cookie发送回我
这是解决问题的正确方法吗?如有任何建议,将不胜感激