当前位置:  开发笔记 > 编程语言 > 正文

如何正确处理分块编码请求?

如何解决《如何正确处理分块编码请求?》经验,为你挑选了1个好方法。

我有两个网站:一个使用Lighttpd和PHP,第二个使用Apache,这两个网站都没有正确处理分块传输编码.

我从我的手机J2ME发送此请求,并且无法将此传输类型更改为任何其他类型.

所以我唯一的办法就是以其他方式处理分块传输已编码请求.任何解决方案都会很好,只要我可以在我的CentOS服务器上启用它,我可以安装并更改所有必要的东西.

所以我的问题是:如何在服务器端正确处理分块编码请求?



1> Viper_Sb..:

编辑:您运行的是哪个版本的PHP/Apache/LightHTTP?因为之前PHP中存在这个错误,但它似乎与5.2.13和5.3.2一起消失了.

如果上面的链接没有帮助,我想知道PHP看到了什么,你能把它放在api中并发布结果吗?(当然是编辑过的).

$input = file_get_contents('php://input');
$stdin = file_get_contents('php://stdin');

print "FILES: ";
print_r($_FILES);

print("
POST: "); print_r($_POST); print("
input: ".$input); print("
stdin: ".$stdin); die;

通过这种方式我们可以看到PHP看到了什么,如果它不解码分块编码,那么我们可以手动解码它.

结束编辑.(留下以下以防其他人认为有用)

我认为这是你上一个问题的后续内容.我假设你正在从PHP读取流?

几年前我写了这篇文章,它从一个分块编码流中读取,然后你可以用输出做任何你想做的事.如果它是一个大文件,请不要将其读入字符串,而是写入文件.


推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有