从Android向Python(Apache Mod_Python)发送HTTP Post
我想从一个安卓应用程序发送HTTP Post数据到一个Python脚本(使用Apache和Mod_Python)。我之前测试过我的安卓客户端,成功地将数据发送到一个php脚本。当我使用表单发送数据到我的Python脚本时,它运行得很好(上传文件或者下面的脚本提示'没有上传文件')。
我只有在想从我的安卓应用发送数据到Python时遇到问题。
我收到了一个错误信息:
ValueError: 需要更多的值来解包
这是我的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 Post代码比较长,但在其他环境下运行得很好,所以我暂时不贴出来(如果需要我可以提供)。有没有人能给我一些提示,告诉我该从哪里开始查找这个错误?
1 个回答
1
我发现了错误:在我的HTTP Post请求中,我用了"\n"作为换行符。PHP对此没问题,即使它格式不正确。但Mod_Python要求使用"\r\n"。