2009-08-26 13 views
1

J'essaie de modifier mon simple proxy web Twisted pour utiliser "Proxy-Authentication" (nom d'utilisateur/mot de passe) au lieu de l'authentification IP actuelle. Le problème est, je suis nouveau à Twisted et je ne sais même pas par où commencer.Comment changer ce proxy pour utiliser l'authentification par proxy?

Voici ma classe d'usine.

class ProxyFactory(http.HTTPFactory): 
    def __init__(self, ip, internal_ips): 
     http.HTTPFactory.__init__(self) 
     self.ip = ip 
     self.protocol = proxy.Proxy 
     self.INTERNAL_IPS = internal_ips 


    def buildProtocol(self, addr): 
     print addr 
     # IP based authentication -- need to switch this to use standard Proxy password authentication 
     if addr.host not in self.INTERNAL_IPS: 
      return None 
     #p = protocol.ServerFactory.buildProtocol(self, addr) 
     p = self.protocol() 
     p.factory = self 
     # timeOut needs to be on the Protocol instance cause 
     # TimeoutMixin expects it there 
     p.timeOut = self.timeOut 
     return p 

Une idée de ce que je dois faire pour que cela fonctionne? Merci de votre aide!

Répondre

1

Une question similaire est venu sur la liste de diffusion Twisted il y a un moment:

http://www.mail-archive.com/[email protected]/msg01080.html

Comme je l'ai il mentionné, vous avez besoin probablement sous-classe quelques-unes des classes twisted.proxy afin qu'ils comprennent le Proxy Authentification et en-tête d'autorisation proxy.