• Home
  • Учебник по ExtJS
  • О сайте
  •  



    Кроссдоменный прокси на Google App Engine

    Большинство браузеров не позволяют Javascript Ajax обращения к другим доменам, поэтому использование Flickr API с Google App Engine весьма затруднено. Описанный ниже код позволяет организовать простой прокси-сервер:

    import cgi
    import urllib
    from google.appengine.ext import webapp
    from google.appengine.api import urlfetch
    
    class FlickrController(webapp.RequestHandler):
    	"""Прокси для Ajax запросов к Flickr"""
    	def get(self):
    		flickrapiendpoint = 'http://api.flickr.com/services/rest/'
    		flickrapikey = 'you_flicker_api_key'
    
    		params = self.request.GET
    		params.add('api_key', flickrapikey)
    		params.add('format', 'json')
    		apiquery = urllib.urlencode(params)
    
    		result = urlfetch.fetch(url=flickrapiendpoint + '?' + apiquery, method=urlfetch.GET)
    		self.response.out.write(result.content)
    
    def main():
    	application = webapp.WSGIApplication(
    		[('/flickr/', FlickrController)],
    		debug=True)
    	wsgiref.handlers.CGIHandler().run(application)
    
    if __name__ == "__main__":
    	main()

    Leave a Reply