【发布时间】:2011-03-01 17:55:27
【问题描述】:
我想将 HTTP Post 数据从 Android 应用程序发送到 Python 脚本(带有 Mod_Python 的 Apache)。我之前测试了我的 Android 客户端并将数据成功发送到 php 脚本。当我使用表单并将数据发送到我的 Python 脚本时,它表现良好(上传或使用下面的脚本提示“未上传文件”)。
只有当我想将数据从我的 Android 应用程序发送到 Python 时才会遇到问题。
我收到一条错误消息
ValueError: 需要超过 1 个值才能解压
这是我的 Python 代码:
def upload(req):
sys.stderr = open('/var/www/cv/py/errorlog.txt', 'a')
try: # Windows needs stdio set for binary mode.
import msvcrt
msvcrt.setmode (0, os.O_BINARY) # stdin = 0
msvcrt.setmode (1, os.O_BINARY) # stdout = 1
except ImportError:
pass
if False:
# do some stuff, not used
else:
message = 'No file was uploaded'
sys.stderr.close()
sys.stderr = sys.__stderr__
return message
我的 http 帖子的 Android 代码很长,但在另一个设置中运行良好,所以我现在不发布它(我可以根据要求发布)。有没有人有提示,我需要从哪里开始搜索错误?
【问题讨论】:
-
它是否告诉您错误来自哪一行?因为这些看起来都不应该是拆包值。
-
我在错误文件 (/var/log/apache2/error.log) 中看不到完整的跟踪。最后几行引用 mod_python 中的 importer.py、publisher.py 和 util.py。我可以更改 Apache(?) 的设置以在 error.log 中查看完整的跟踪信息吗?
-
我不知道。如果它在 mod_python 中,则表明 Apache 的配置有问题。我应该补充一点,mod_python 显然已被 mod_wsgi 取代 - 我不知道这是否对你更有效。
标签: python android http-post mod-python