将应用上传到Google应用引擎的问题

时间:2010-06-11 12:33:13

标签: http google-app-engine proxy

我在从我的工作地点将应用程序上传到google-app-engine时遇到问题。我认为这个问题与代理有关,因为我在家里执行相同的程序时没有看到同样的问题。 (我没有在家中指定HTTP_PROXY。)

这些是我运行的命令(替换了主机名):

set HTTP_PROXY=http://proxy.myhostname.com:8080
set HTTPS_PROXY=http://proxy.myhostname.com:8080
appcfg.py --insecure update myappfolder

运行命令时,我会按预期提示输入电子邮件和密码,但之后会立即退出并显示错误消息:

Error 302: --- begin server output ---
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://www.google.com/accounts/ClientLogin">here</A>.
</BODY>
</HTML>
--- end server output ---

注意:我添加了--insecure选项,因为它发出了缺少ssl模块的警告。

知道如何解决或解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

同样的问题。 运行--noisy“appcfg.py --noisy update e:\ myappip --insecure”我得到更详细的日志

2012-10-17 06:42:47,641 DEBUG appengine_rpc.py:401 Got http error, this is try #1
2012-10-17 06:42:47,641 DEBUG appengine_rpc.py:420 Got 302 redirect. Location:https://appengine.google.com/api/updatecheck?release=1.7.2&timestamp=1345557405&runtime=python27&api_versions=%5B'1'%5D 
2012-10-17 06:42:47,772 INFO appcfg.py:608 Update check failed: HTTP Error 302: Found
2012-10-17 06:42:47,832 INFO appcfg.py:2157 Reading app configuration.
2012-10-17 06:42:48,062 DEBUG appengine_rpc.py:389 Sending HTTP request:
POST /api/appversion/getresourcelimits?version=23&app_id=pergasoft HTTP/1.1
Host: appengine.google.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: appcfg_py/1.7.2 win32/5.1.2600.2 Python/2.7.2.final.0

2012-10-17 07:11:10,430 ERROR appcfg.py:2199 An error occurred processing file '': HTTP Error 302: Found. Aborting.
Error 302: --- begin server output ---

--- end server output ---

在我的情况下最终帮助 删除--insecure指令在此步骤之前,我通过Google搜索解决方案花了很多时间。

我之前做过的一些步骤(可能没必要):

  • 使用commnad“netsh int ip reset resetlog.txt”
  • 修复TCP / IP套接字
  • 将Google appengine从GoogleAppEngine-1.7.0升级到
  • GoogleAppEngine-1.7.2将Python版本从2.7.2升级/重新安装到 2.7.3

问题可能是连接到RPC服务器,原因可能是使用--insecure指令一起重定向到httpS。

这个问题在我身边没有任何代码更改的情况下发生,所以可能是Google方面的问题。

答案 1 :(得分:0)

以下是Google docs的相关部分。

使用HTTP代理

如果您在HTTP代理后面运行appcfg.py,则必须告诉appcfg.py代理的名称。要为appcfg.py设置HTTP代理,请设置http_proxy和https_proxy环境变量。

使用Windows(在命令提示符下):

set HTTP_PROXY=http://cache.mycompany.com:3128
set HTTPS_PROXY=http://cache.mycompany.com:3128
appcfg.py update myapp

在Mac OS X(终端中)或Linux中使用命令行:

export http_proxy="http://cache.mycompany.com:3128"
appcfg.py update myapp

默认情况下,appcfg.py使用HTTPS与App Engine进行通信。如果您要求使用HTTP,则可以使用--insecure选项关闭HTTPS:

appcfg.py --insecure update myapp