老夫费劲心机,苦学perl,终于解决了此问题,此文大概为目前互联网上唯一的解释(至少就我自己几天猛搜的结果看来!),
哈哈。不过昨天兴奋过度,唉,只好修正下这篇文章了!
author: bailing
time: 2007-03-07
modified: 2007-03-08
E:CGI.pm: Server closed socket during multipart read (client aborted?).
S:发生在用MegaUpload上传文件时,但是传小文件(小于等于3706bytes,大概4KB附近)时,却正常执行下去了。
A:原因从这里开始[upload.cgi]
open( STDIN , "$post_data_file" ) or die "can't open temp file";
my $cg = new CGI();
这里,将post_data_file作为默认的输入,CGI的read_from_client函数会从STDIN读取提交的http包,
然而对于 这里读到的,凡是\n均被复制了,所以包的长度不正确,结构数据也不正确,所以就会返回
malformed multipart POST 这个错误,因为STDIN默认是文本模式?我尝试用binmode STDIN;
无效。在open STDIN前加上 close( STDIN );天下太平
close( STDIN );
open( STDIN , "$post_data_file" ) or die "can't open temp file";
my $cg = new CGI();
以下代码保留,尽管解决方法错了,代码还是有留存的价值的。
print TMP "POST $ENV{'REQUEST_URI'} $ENV{'SERVER_PROTOCOL'}\r\n";
print TMP "Accept-Language: $ENV{'HTTP_ACCEPT_LANGUAGE'}\r\n";
print TMP "Content-Type: $ENV{'CONTENT_TYPE'}\r\n";
print TMP "User-Agent: $ENV{'HTTP_USER_AGENT'}\r\n";
print TMP "Host: $ENV{'HTTP_HOST'}\r\n";
print TMP "Content-Length: $ENV{'CONTENT_LENGTH'}\r\n";
print TMP "Connection: $ENV{'HTTP_CONNECTION'}\r\n";
print TMP "\r\n";
OA:http://www.globalmoxie.com/cgi-bin/forums/ultimatebb.cgi?ubb=get_topic;f=1;t=000451 这里说去掉
perl的-w参数就好了。 (呵呵,搞笑)
it means:
*CGI.pm and Perl v5.6.0 could not read a POSTed multipart stream satisfactorily producing the
error "CGI.pm: Server closed socket during multipart read (client aborted?)". This is apparently
a known problem fixed by migrating to Perl 5.6.1 (or later) and it's CGI.pm. *
这个人说5.6.1或更高版本的perl已经解决了这个问题,但是,我的是v5.8.8的[perl -version],CGI.pm也是最新的。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com