En la version de Appengine 1.5.1 (20 Junio del 2011) se añadio en el Header la etiqueta X-AppEngine-country que contiene el pais del visitante a partir de su IP, este valor esta en ISO-3166-1 alpha-2 (ej: ES -> España, PE -> Peru, US -> Estados Unidos ).


Un ejemplo del codigo seria el siguiente:


Archivo pais.py

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):

	def get(self):
		pais = self.request.headers.get('X-AppEngine-country')
		self.response.out.write(pais)

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()



Archivo Yaml :

application: [NOMBRE DE MI APLICACION]
version: 1
runtime: python
api_version: 1

handlers:

- url: /.*
  script: pais.py



Esto leera el header y nos devolvera el valor de la etiqueta, en mi caso ES .


**NOTA: El codigo probarlo en Produccion (En los servers de AppEngine) porque en local no lo procesa y es como si la etiqueta estuviera vacia.


Descargar el Ejemplo: Ejemplo X-AppEngine-country - AppEngine (1069 descargas)


Lista de Paises en ISO-3166-1 alpha-2 : http://www.vicolinker.net/2011/12/lista-de-paises-en-iso-3166-1-alpha-2-creada-por-google/

Gracias a @scyros por guiarme para hacer este ejemplo ;)


Terminos de Busqueda:

  • HTML Header vinculo