Obtención de la dirección IP de la solicitud HTTP POST usando Python

Estoy usando un script de Python para hacer mi servidor web usando el módulo BaseHTTPServer . A continuación se muestra mi código para el servidor:

 import string,cgi,time from os import curdir, sep from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer #import pri class MyHandler(BaseHTTPRequestHandler): def do_GET(self): try: if self.path.endswith("/"): f = open(curdir + sep + "index.html") self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write(" GET OK.
") f.close() return return except IOError: self.send_error(404,'File Not Found: %s' % self.path) def do_POST(self): global rootnode try: ctype, pdict = cgi.parse_header(self.headers.getheader('content-type')) if ctype == 'multipart/form-data': query=cgi.parse_multipart(self.rfile, pdict) self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() file = query.get('file') self.wfile.write(" POST OK.
") f = open("data.zip", "wb") f.write(file[0]) f.close() print("File received.") return except : pass def main(): try: server = HTTPServer(('', 8080), MyHandler) print 'started httpserver...' server.serve_forever() except KeyboardInterrupt: print '^C received, shutting down server' server.socket.close() if __name__ == '__main__': main()

¿Hay alguna forma de obtener la dirección IP de una solicitud POST cuando mi servidor la recibe? Muchas gracias de antemano.

Debería poder obtener su dirección IP con self.client_address[0] .

Para aquellos que no utilizan la biblioteca self.request.remote_addr , self.request.remote_addr funciona bien