Twisted: Get Protected HTTPS Page via Proxy with Authentication

Robert Hancock hancock.robert at gmail.com
Sun Sep 21 18:07:16 EDT 2008


from twisted.web import client
from twisted.internet import reactor
import base64
import sys

def printPage(data):
    print data
    reactor.stop()

def printError(failure):
    print >> sys.stderr, "Error:", failure.getErrorMessage()
    reactor.stop()

if len(sys.argv) == 4:
    url = sys.argv[1]
    username = sys.argv[2]
    password = sys.argv[3]

    basicAuth = base64.encodestring('%s:%s' % (username, password))
    authHeader = "Basic " + basicAuth.strip()

    client.getPage(url, headers={"Authorization":
authHeader}).addCallback(printPage).addErrback(printError)
    reactor.run()
else:
    print 'Usage: get_web_page.py <URL>'

If I run this against a password protected HTTP(S) site from a host
that has direct access to the Internet it works fine.  I now have to
move it behind a proxy that requires authentication.  The Twisted
documentation did not make it clear (to me) how to add proxy
authentication and I cannot find an example on the Internet.

I've tried adding an additional Proxy-Authentication header to the
call, but that doesn't help  Any ideas would be greatly appreciated.

Command line args: http://feedparser.org/docs/examples/basic_auth.xml
test basic



More information about the Python-list mailing list