title: Getting IP address from HTTP POST request using Python
body: <p>I am using a python script to do my webserver using the <code>BaseHTTPServer</code> module. Below is my code for the server:</p>
  
  <pre><code>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("&lt;HTML&gt; GET OK.&lt;BR&gt;")
          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("&lt;HTML&gt; POST OK.&lt;BR&gt;")
          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()
  </code></pre>
  
  <p>Is there anyway to get the IP address of a POST request when my server receives it? Many thanks in advance. </p>