twisted protocol Problem
Verfasst: Mittwoch 13. Oktober 2010, 10:28
Hallo liebe Gemeinde,
bevor ich wahnsinnig werde, suche ich hier um Hilfe. Kann mit jemand erklären warum im meinem Script handleHeader und handleEndHeaders nie aufgerufen werden? handleHeader sollte doch mit jedem empfangenen Header aufgerufen werden.
bevor ich wahnsinnig werde, suche ich hier um Hilfe. Kann mit jemand erklären warum im meinem Script handleHeader und handleEndHeaders nie aufgerufen werden? handleHeader sollte doch mit jedem empfangenen Header aufgerufen werden.
Code: Alles auswählen
#!/usr/bin/env python
from twisted.internet import reactor, protocol
from twisted.web import client
def processResult(page):
print "I got some data", repr(page)
reactor.callLater(0.1, reactor.stop)
def dealWithError(err):
print err.getErrorMessage()
reactor.callLater(0.1, reactor.stop)
class testproto(client.HTTPPageGetter):
def connectionMade(self):
self.header_received = False
method = getattr(self.factory, 'method', 'GET')
self.sendCommand(method, self.factory.path)
self.sendHeader('Host', self.factory.headers.get("host", self.factory.host))
self.sendHeader('User-Agent', self.factory.agent)
self.endHeaders()
def handleEndHeaders(self):
self.header_received = True
print "header"
def handleHeader(self,key,value):
print key
def dataReceived(self,bytes):
#if self.header_received == True:
#
print bytes
class ProxyClientFactory(client.HTTPClientFactory):
protocol = testproto
def setURL(self, url):
client.HTTPClientFactory.setURL(self, url)
self.path = url
def buildProtocol(self,addr):
proto = protocol.ClientFactory.buildProtocol(self, addr)
return proto
def main():
factory = ProxyClientFactory('http://www.google.com')
factory.deferred.addCallback(processResult)
factory.deferred.addErrback(dealWithError)
reactor.connectTCP('proxy', 8118, factory)
reactor.run()
if __name__ == '__main__':
main()