2013-05-22 25 views
8

sto cercando "Ciao mondo" con il pitoneGoogle App Engine: Errore: HTTPError

import webapp2 

class MainHandler(webapp2.RequestHandler): 
    def get(self): 
     self.response.write('Hello world!') 

app = webapp2.WSGIApplication([ 
    ('/', MainHandler) 
], debug=True) 

app.yaml

application: engineapp 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: yes 

handlers: 
- url: /favicon\.ico 
    static_files: favicon.ico 
    upload: favicon\.ico 

- url: .* 
    script: main.app 

libraries: 
- name: webapp2 
    version: "2.5.2" 

Ma quando eseguito in Google App Launcher ottenere questo errore

INFO  2013-05-22 12:22:40,302 admin_server.py:117] Starting admin server at: xxxxx:8000 
HTTPError() 
HTTPError() 
Traceback (most recent call last): 
    File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 1302, in communicate 
    req.respond() 
    File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 831, in respond 
    self.server.gateway(self).respond() 
    File "C:\Program Files (x86)\Google\google_app_engine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 2115, in respond 
    response = self.req.server.wsgi_app(self.env, self.start_response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\wsgi_server.py", line 246, in __call__ 
    return app(environ, start_response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\request_rewriter.py", line 311, in _rewriter_middleware 
    response_body = iter(application(environ, wrapped_start_response)) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\python\request_handler.py", line 89, in __call__ 
    self._flush_logs(response.get('logs', [])) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\devappserver2\python\request_handler.py", line 220, in _flush_logs 
    apiproxy_stub_map.MakeSyncCall('logservice', 'Flush', request, response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_stub_map.py", line 94, in MakeSyncCall 
    return stubmap.MakeSyncCall(service, call, request, response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_stub_map.py", line 320, in MakeSyncCall 
    rpc.CheckSuccess() 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\api\apiproxy_rpc.py", line 156, in _WaitImpl 
    self.request, self.response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\ext\remote_api\remote_api_stub.py", line 200, in MakeSyncCall 
    self._MakeRealSyncCall(service, call, request, response) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\ext\remote_api\remote_api_stub.py", line 226, in _MakeRealSyncCall 
    encoded_response = self._server.Send(self._path, encoded_request) 
    File "C:\Program Files (x86)\Google\google_app_engine\google\appengine\tools\appengine_rpc.py", line 393, in Send 
    f = self.opener.open(req) 
    File "C:\Python27\lib\urllib2.py", line 410, in open 
    response = meth(req, response) 
    File "C:\Python27\lib\urllib2.py", line 523, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "C:\Python27\lib\urllib2.py", line 448, in error 
    return self._call_chain(*args) 
    File "C:\Python27\lib\urllib2.py", line 382, in _call_chain 
    result = func(*args) 
    File "C:\Python27\lib\urllib2.py", line 531, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
HTTPError: HTTP Error 503: Service Unavailable 

Cambio versione GAE Launcher (1.7.7) e reinstalla python ma non funziona

Utilizzo Windows 7, python 2.7 e EAG Launcher 1.8.0

+0

Che cosa c'è nel file app.yaml? – rGil

+0

MODIFICA la domanda con l'app.yaml –

+0

@gath, aggiornato il mio motore di app da 1.7.6 a 1.8 e sto ottenendo lo stesso errore sui miei progetti esistenti, cosa sta succedendo? – gath

risposta

22

Ho avuto questo stesso problema con il mio MacOSX quando si utilizza un server proxy che utilizza Google App Engine Launcher 1.8.6 dietro un server proxy. Apparentemente c'è un problema con "proxy_bypass" su "urllib2.py".

Ci sono due soluzioni possibili:

  1. downgrade a 1.7.5, ma, chi vuole effettuare il downgrade?
  2. Edit "[GAE Instalattion percorso] /google/appengine/tools/appengine_rpc.py" e cercate la riga che dice

    opener.add_handler(fancy_urllib.FancyProxyHandler())

Nel mio computer è stato la linea 578, e poi mettere un cancelletto (#) all'inizio della riga, in questo modo:

`#opener.add_handler(fancy_urllib.FancyProxyHandler())` 

Salvare il file, arrestare e riavviare l'applicazione. Ora dev_appserver.py non dovrebbe provare a utilizzare alcun server proxy.

Se l'applicazione utilizza risorse esterne come un SOAP Webservice o qualcosa del genere e non è possibile raggiungere il server senza il server proxy, sarà necessario eseguire il downgrade. Tieni presente che i file javascript esterni (come Facebook SDK o simili) vengono caricati dal tuo browser, non dalla tua applicazione.

Poiché non sto utilizzando alcun servizio REST o SOAP esterno, ha funzionato per me!

Speriamo che funzioni anche per voi.

+2

Questo deve essere contrassegnato come risposta. – stuckintheshuck

+2

Questo sicuramente funziona – istepura

+1

Sei decisamente un genio :) Ha funzionato come una magia – bytestorm

1

La mia soluzione è quella di rimuovere tutte le impostazioni del proxy tramite:
unset http_proxy https_proxy ftp_proxy ftps_proxy

Poi riavviare l'applicazione tramite
dev_appserver.py helloworld/

Se siete sotto le finestre, poi si deve cambiare il " Opzioni Internet "di IE Configuration.