Avoir un code inspiré de http://code.djangoproject.com/wiki/XML-RPC:Comment obtenir IP lors de l'utilisation SimpleXMLRPCDispatcher dans Django
from SimpleXMLRPCServer import SimpleXMLRPCDispatcher
from django.http import HttpResponse
dispatcher = SimpleXMLRPCDispatcher(allow_none=False, encoding=None) # Python 2.5
def rpc_handler(request):
"""
the actual handler:
if you setup your urls.py properly, all calls to the xml-rpc service
should be routed through here.
If post data is defined, it assumes it's XML-RPC and tries to process as such
Empty post assumes you're viewing from a browser and tells you about the service.
"""
if len(request.POST):
response = HttpResponse(mimetype="application/xml")
response.write(dispatcher._marshaled_dispatch(request.raw_post_data))
else:
pass # Not interesting
response['Content-length'] = str(len(response.content))
return response
def post_log(message = "", tags = []):
""" Code called via RPC. Want to know here the remote IP (or hostname). """
pass
dispatcher.register_function(post_log, 'post_log')
Comment pourrait obtenir l'adresse IP du client dans la définition de « post_log »? J'ai vu IP address of client in Python SimpleXMLRPCServer? mais je ne peux pas l'appliquer à mon cas.
Merci.