【问题标题】:HTTP Post from Android to Python (Apache Mod_Python)从 Android 到 Python 的 HTTP Post (Apache Mod_Python)
【发布时间】: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


【解决方案1】:

我发现了错误: 在我的 HTTP Post 中,我使用“\n”作为换行符。 PHP对此很好,即使它格式错误。 Mod_Python 需要“\r\n”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多