我刚刚将GAE SDK升级到1.7.6(Linux,Python)。现在,使用dev_appserver.py,我的应用程序加载得很好,但是一旦我在浏览器中访问localhost:8080,就会出现未被捕获的HTTP 504网关超时异常。我用helloworld示例代码重现了它。一切都像使用old_dev_appserver.py之前一样。
这是一个错误还是我做错了什么?还是我的Python发行版?
File "/usr/lib64/python2.7/urllib2.py", line 406, in open
response = meth(req, response)
File "/usr/lib64/python2.7/urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python2.7/urllib2.py", line 444, in error
return self._call_chain(*args)
File "/usr/lib64/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 504: Gateway Time-out
答案 0 :(得分:2)
可能为时已晚,但我希望这可以帮助任何可能遇到同样问题的人。
同样的事情发生在我身上,问题在于我的系统是使用代理设置的。那么,GAE dev_appserver无法连接到自身(它使用ip和端口组合连接到自身并管理一些API内容),因此它会抛出HTTP 504 Gateway Timeout错误。所以,我删除了代理设置,并照常工作。
答案 1 :(得分:1)
对于最新版本,您需要安装PyObj。试试这个:
$ easy_install -U pyobjc-core
$ easy_install -U pyobjc
答案 2 :(得分:0)
在我的情况下,它是代理。我有:
export http_proxy=http://IP.IP.IP.IP:3128/
在我的.bashrc文件中。我以为我没有在python和机械化中使用代理。但原因相反。我取消了导出的代理并没有它,这解决了这个错误:
mechanize._response.httperror_seek_wrapper: HTTP Error 504: Gateway Time-out
现在使用python和mechanize进行身份验证连接正常。
P.S。:我能够连接到该站点并获得登录屏幕(启用代理)。但是当我提交登录条目时,出现了错误504。