如何在python中为重定向设置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,我将代表该站点提供请求 所以我已经为此奋

我正在编写一个代理服务器,在那里我将截获一个请求,并检查头部是否有一个名为URID的cookie,如果没有,我想将请求重定向到fw.asta.com,看看这个域是否有一个名为URID的cookie,如果没有,我想为fw.cisco.com设置cookie,然后重定向到最初打算的站点,然后为该站点设置相同的cookie。如果fw.asta.com站点存在cookie,我将使用该cookie重定向到最初的目标站点,如果最初的目标站点具有URID cookie,我将代表该站点提供请求

所以我已经为此奋斗了很长一段时间。我有一种感觉,当我在重定向过程中设置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发送回我

这是解决问题的正确方法吗?如有任何建议,将不胜感激