[Twisted-web] Twisted web client digest authentication?
Paul de Vries
pc.vries at tip.nl
Fri Dec 2 09:31:41 EST 2011
Hi
Made something that connects to a httpserver and parses the xml stream it sends.
The webserver it has to connect to uses digest authentication.
How can I implement digest authentication in this?
thanks in advance
the code I put together:
from twisted.internet import reactor
from twisted.internet.defer import Deferred
from twisted.internet.protocol import Protocol
from twisted.web.client import Agent
from twisted.web.http_headers import Headers
from StringIO import StringIO
from elementtree import ElementTree
class ParseReceived(Protocol):
def __init__(self, finished):
self.finished = finished
self.dataStream = StringIO()
def dataReceived(self, bytes):
display = bytes
#print 'some data received:'
#print display
context = ElementTree.iterparse(StringIO(bytes), events = ("start", "end"))
context = iter(context)
event, root = context.next()
for event, elem in context:
if elem.tag == "Tag":
print "Tag "
root.clear()
def connectionLost(self, reason):
print 'finished receiving', reason.getErrorMessage()
agent = Agent(reactor)
d = agent.request('GET', 'http:someadress', Headers({'User-Agent': ['Twisted web client']}), None)
def cbResponse(response):
print 'Response version: ', response.version
finished = Deferred()
response.deliverBody(ParseReceived(finished))
return finished
d.addCallback(cbResponse)
reactor.run()
More information about the Twisted-web
mailing list