Estoy buscando el equivalente de <?php $_SERVER['REMOTE_ADDR'] ?>
en Google App Engine y Python.Obtener dirección IP en Google App Engine + Python
Gracias!
Estoy buscando el equivalente de <?php $_SERVER['REMOTE_ADDR'] ?>
en Google App Engine y Python.Obtener dirección IP en Google App Engine + Python
Gracias!
me dio una palmada en un ejemplo rápido y sucio en conjunto basado en el tutorial. Ha sido probado en mi appengine sdk local. Debería poder adaptarlo a sus necesidades:
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
class Log(db.Model):
access_time = db.DateTimeProperty(auto_now_add=True)
ip_address = db.StringProperty()
class MainPage(webapp.RequestHandler):
def get(self):
# obtain ip address
ip = self.request.remote_addr
# create a new Log record
log = Log()
# assign ip address to the ip_address field
log.ip_address = ip
# no need to set access_time because
# of the auto_now_add=True setting defined in the Log model
# save to the datastore
log.put()
# output
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Logged your visit from ip address %s' % ip)
class LogPage(webapp.RequestHandler):
def get(self):
logs = Log.all()
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Ip addresses: ')
for log in logs:
self.response.out.write(log.ip_address + ',')
application = webapp.WSGIApplication([('/', MainPage), ('/logs', LogPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
intento con:
os.environ["REMOTE_ADDR"]
o con el Request Class variable:
class MyRequestHandler(webapp.RequestHandler):
def get(self):
ip = self.request.remote_addr
@pyfunc lo crea o no, no está mal. – systempuntoout
@pyfunc antes de la votación negativa, lea cómo las personas usan os.environ. Y la segunda parte fue en mi respuesta, estaba respondiendo a una pregunta más amplia formulada por el OP y luego borré. Solo relájate un poco, gracias. – systempuntoout
@pyfunc era parte de mi respuesta, por lo que no había edición. – systempuntoout
wow, awesome. registros bien pero da un error de servidor 500 http://iantest123.appspot.com/ –
mi mal - Lo copié mal. ¡Funciona genial! –