これは非常に奇妙です。タイトルはそのほとんどを示していますが、残りは私のコードで説明する必要があります。これが私のmain.py
ファイルです:
from google.appengine.api import urlfetch
import webapp2
import jinja2
import json
import os
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))
class MainPage(webapp2.RequestHandler):
def get(self):
response = urlfetch.fetch("http://localhost:8080/api/helloworld?name=totty", method=urlfetch.GET)
if response.status_code == 200:
result = json.loads(response.content)
template_values = {'response': result['msg']}
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))
app = webapp2.WSGIApplication(
[('/', MainPage)],
debug=True)
これが私のapi.py
ファイルです:
import webapp2
import json
class HelloWorld(webapp2.RequestHandler):
def get(self):
name = self.request.get('name') or 'world'
msg = "Hello {}!".format(name)
payload = json.dumps({'msg': msg})
# payload = json.dumps({'dir': str(dir(self.request)), 'body': str(self.request.body), 'name': str(self.request.arguments())})
self.response.headers['Content-Type'] = 'application/json'
self.response.write(payload)
app = webapp2.WSGIApplication(
[('/api/helloworld', HelloWorld)],
debug=True)
そして、私のapp.yaml
ファイルが役立つ場合:
application: stacksort
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /api/.*
script: api.app
- url: /.*
script: main.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
通話に追加deadline=30
しても何も変わりません。JQuery をurlfetch
使用して API をテストしたところ、完全に正常に動作し、5 秒以内に戻りました。httpie
私は他の質問を見ましたが、私はまだ暗闇につまずいています. ヘルプ、ヒント、またはリファクタリングをいただければ幸いです。
StackEchange Search API への呼び出しを追加する予定なので、その際にも問題が発生するのではないかと思います。これを行うためのより良い方法があれば、教えてください。ありがとう。