I have been creating my own transporter to reach other ports than the
common HTTP ports in XMLRPC calls through google Secure Data
Connector. It is working fine, but i need to send user authentication
with my requests like u...@password: . Do anyone know how to do that?

My transporter is:

import xmlrpclib
import logging
from google.appengine.api import urlfetch

class MyTransport(xmlrpclib.Transport):
    #overriding this method is enougth
    #to put the 'user_intranet' header
    def request(self, host, handler, request_body, verbose=0):
        result = None
        url = 'http://%s%s' % (host, handler)
        try:
            response = urlfetch.fetch(url,
                                      payload=request_body,
                                      method=urlfetch.POST,
                                      headers={'use_intranet':'yes'},
                                                follow_redirects=True)
        except:
            msg = 'Failed to fetch %s' % url
            logging.error(msg)
            raise xmlrpclib.ProtocolError(host + handler, 500, msg,
{})

        if response.status_code != 200:
            logging.error('%s returned status code %s' %
                          (url, response.status_code))
            raise xmlrpclib.ProtocolError(host + handler,
                                          response.status_code,
                                          "",
                                          response.headers)
        else:
            result = self.__parse_response(response.content)

        return result

    def send_user_agent(self, connection):
        connection.putheader("User-Agent", self.user_agent)
        connection.putheader("use_intranet", "yes")

    def __parse_response(self, response_body):
        p, u = xmlrpclib.getparser(use_datetime=False)
        p.feed(response_body)
        return u.close()

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to