我尝试在appengine上的两个页面之间进行简单的http请求/响应通信。代码如下:
class MainHandler(webapp.RequestHandler):
def get(self):
values = {'id' : '9',
'number' : '10001',
'age' : '15828',
'name' : 'Squeak' }
data = urllib.urlencode(values)
request = urllib2.Request("http://localhost:8082/post", data)
response = urllib2.urlopen(request)
content = response.read()
self.response.out.write(content)
class PostHandler(webapp.RequestHandler):
def post(self):
self.response.out.write(str(self.request.get('id')) + '<br>' + str(self.request.get('number')) + '<br>' + str(self.request.get('age')) + '<br>' + self.request.get('name'))
我将这些处理程序分配给'/'和'/post',结果是在等待HTTP响应时出现了一个死线异常错误,我猜这是因为“主机中的软件中止了已建立的连接”[错误号10053]。我尝试禁用防火墙/防病毒软件,但还是没用。显然,我是应用引擎新手,但这些东西应该是直截了当的。为什么会这样?我已经为此挣扎了一段时间了。在
一开始你不需要为appengine选择你想使用的端口(提供数据),所以别再尝试了。在
你在部署的服务器上试过吗?正如评论指出的,local和deployed上的行为可能非常不同,特别是在有多个请求的情况下。在
不可能每一次都忘记一个引擎的每一个请求。在
所以你的代码可能是这样的:
你提出邮寄请求。 无法处理该post请求,因为您仍在处理原始get。等待post完成。 get永远不会完成,因为它正在等待post完成。在
或者类似的事情。在
如果您解释一下您试图用这段代码实现什么,并将其作为一个单独的问题重新提出,可能会更好。因为没有真正的方法来“修复”这个问题。在
相关问题 更多 >
编程相关推荐