proxy in xmlrpclib

This is just an extension of the example shown here .

import xmlrpclib, httplib
class ProxiedTransport(xmlrpclib.Transport):
    def set_proxy(self, proxy):
        self.proxy = proxy
	self.puser_pass = puser_pass
    def make_connection(self, host):
        self.realhost = host
        h = httplib.HTTP(self.proxy)
        return h
    def send_request(self, connection, handler, request_body):
        connection.putrequest("POST", 'http://%s%s' % (self.realhost, handler))
    def send_host(self, connection, host):
        connection.putheader('Host', self.realhost)
	connection.putheader('User-agent', self.user_agent)
	# Check is proxy username and password is set
	if len(self.puser_pass.strip()) != 0:
		connection.putheader('Proxy-authorization','Basic '+self.puser_pass)

p = ProxiedTransport()
proxyUsername = 'proxyuser'
proxyPassword = 'proxypass'
puser_pass = base64.encodestring('%s:%s' % (proxyUsername, proxyPassword)).strip()

p.set_proxy('proxy-server:8080', puser_pass)
server = xmlrpclib.Server('', transport=p)
print server.currentTime.getCurrentTime()

A similar code has been used in my blog client GScribble.





One response to “proxy in xmlrpclib”

  1. My Money Mking Dream Avatar

    This is one awsome blog.4 thumbs up

Leave a Reply

Your email address will not be published. Required fields are marked *